2009-07-08 20 views
2

私のC#プログラムはデバッグモードでも突然終了する/消滅/閉じる/クラッシュします。 どのようにしてブレーク/ポーズ/ストップさせることができますか?C#プログラムの終了/突然のクラッシュ、どのようにそれを壊す?

+1

参考までに、これはスタックをダブルフォルトするコードの特徴です。スタックの最後のページに障害が発生している可能性がある、アンマネージコードがプロセスで実行されていますか?あなたは無限の再帰を持っていますか? –

答えて

5

ブレークポイントを設定します(行番号の左側をクリックすると、赤い円です)。クラッシュしたポイントの前にあることを知っています(F8キーを使用)。あなたが最後にしている文は、それが崩壊している文です。

3

Visual Studioの場合、[例外がスローされたときに停止する]を有効にすることができます。[デバッグ] - [例外]を選択します。これは、問題の正確な原因を検出するのに非常に役立ちます。

3

unhandled exception handlerを使用すると詳細を知ることができます。ただし、デバッグモードの場合は、デフォルトで表示する必要があります。 Debug:Exceptionsの設定をチェックして、誤ってデバッグモードでの報告を停止していないことを確認してください。

1

Ericが提案しているように提案しました。例外を管理するために、呼び出し元のアプリケーションにtry/catchを常に配置してください。

0

F10キーを押してプロジェクトのデバッグを開始できます。これは、メインメソッドの先頭にブレークポイントを置いて、そこからF11でコードをステップ実行して、どのポイントでクラッシュするかを見ることができます。

1

また、誰かが(あまりにも)スマートにしようとした場合に備えて、コードがEnvironment.FailFastであることを確認する価値があります。

関連する問題