web-dev-qa-db-ja.com

ユーザーが処理していない例外でVisual Studioが壊れない

Visual Studioでアプリを実行すると、例外情報を含むメッセージボックスを表示するのではなく、未処理の例外で終了し、慣れたまま続行します。

以前の動作に戻すには、どのオプションを変更する必要がありますか?

編集:デバッグ/例外では、CLR例外のユーザー未処理オプションが選択されています。

43
BVernon

Debug->Exceptions->Check Thrown/User-Unhandled共通​​言語ランタイムの例外

編集:おそらくクリーン/リビルドを実行して、もう一度実行してみてください?たぶんデバッグシンボルが壊れているか何か..

32
Tom Studee

Visual Studio 2015の場合:

1.例外設定ウィンドウを開きます(2015年の新機能) open Exception settings window (it's new in 2015)

2.すべてのCLR例外を確認します enter image description here

3. Visual Studioで特定の例外をスローする必要がない場合は、これをオフにします enter image description here

25
Rabolf

アプリケーションによっては、次のオプションが役立ちます。

ツール→オプション...→デバッグ→一般

  • 例外がAppDomainまたは管理/ネイティブの境界を越えると中断します(管理のみ)
  • 例外アシスタントを有効にします
    • 未処理の例外でコールスタックを解く
  • チェック解除Just My Codeを有効化←JMCは、自分のものではないコードやシンボルが欠けているコードで例外をキャッチできないようにします。
20
Sam Harwell

私の場合、Debug-> Exceptionsに行ったとき、ser-unhandled列がありませんでした。 デバッグ-> オプションと設定に移動し、ジャストマイコードを有効にするを修正して、この問題を完全に修正しました。

17
Sam

これは私のためにそれを修正しました:クイックラウチ(Ctrl-Q)で「ResetToC#」と入力します(またはResetTo何か他のもの)

私は長い間同じ問題を抱えていました。 「デバッグ」->「例外」メニューに、「ユーザー未処理」列がありませんでした!非常に迷惑です。

すべてのプラグインをアンインストールし、VSを再インストールしましたが、何も機能しませんでした(Visual Studioはおそらく再インストール後に再利用した設定をマシンに残しました)。

これは、最適な解決策とは思えないかもしれません。どこかで設定を行う必要があるためです。私はそれを見つけることができず、ユーザーが未処理の例外を数か月間中断できなかった後、ResetToC#オプションは安心でした。

4

非常に大規模なC#プロジェクトのVisual Studio 2013でも同じ問題が発生していました。ただし、新しい空のプロジェクトを作成し、テストApplicationExceptionをスローすると、すべてが期待どおりに機能し、デバッガーが壊れて例外アシスタントが表示されます。既存のプロジェクトで同じことを行うと、デバッグが停止してVS編集モードに戻ります。 「出力」ウィンドウで、最後のデバッグトレースが表示されることに気付きました

プログラム「[2624] MyApplication.vshost.exe」は、コード-1073741819(0xc0000005)「アクセス違反」で終了しました。

すべてを新しいプロジェクトにコピーする贅沢は本当にありませんし、上記の提案はどれもうまくいきませんでした。試行錯誤により、私はうまくいったものを見つけました:「オプション」>「デバッグ」>「一般」>「例外アシスタントを有効にする」の下の「未処理の例外でコールスタックを巻き戻す」のチェックを外します

ちなみに、例外アシスタントを使用して(「編集を有効にする」リンクをクリックして)手動でコールスタックをこの同じC#プロジェクトで強制的に解くと、デバッガーが閉じて、編集と続行ができなくなります。しかし、新鮮なプロジェクトでは、解き放ち、編集と継続の作業はうまくいきます!ですから、私のプロジェクトにはVSが嫌いなものが間違いなくありますが、今のところはこれを許容できる回避策として使用します。

3
Nate A

私のために働いた唯一のものは:

ツール->設定のインポートとエクスポート->すべての設定をリセットしてから、C#にリセットします。

2
mclaassen

ソリューションに複数のWebサイトプロジェクトがある場合は、デバッグするプロジェクトがアクティブであることを確認してください。それを右クリックして、「スタートアッププロジェクトとして設定」を選択します。

間違ったウェブサイトがデバッグされているという明らかな手がかりがないため、これはしばらくの間私を困惑させました。

0
mm201

ターゲットプラットフォームをx64からx86に変更することで助けられました

0