c - 複数 - ブレークポイントの条件が実行できませんでした




VC++のデバッガを例外でブレークさせるにはどうすればよいですか? (2)

"First-chance exception at ..."行で指定されたアドレスを使用してデータブレークポイントを作成することもできます。

Jamesの答えに続いて、あなたが探している例外はWin32例外セクションの下にあります。 そこにアクセス違反があるはずです。

アクセス違反を引き起こし続けているC言語で書かれたDLLの問題をデバッグしようとしています。 私はVisual C ++ 2008を使用していますが、コードはストレートCです。

私はDelphiを使い慣れています。デバッガの下で実行中に例外が発生した場合、プログラムはすぐにデバッガにアクセスし、プログラムの状態を調べる機会を得ます。 ただし、Visual C ++では、[出力]タブにメッセージが表示されるだけです。

First-chance exception at blah blah blah: Access violation reading location 0x04410000. 休憩はありません。 Delphi EXEに戻るまでスタックを移動して展開します。これにより、何かが間違っていることが認識され、そこで警告が表示されますが、その時点で何層かの呼び出しスタックがなくなり、何が起こっているのかわかりません。

私は他のデバッグ手法を試してみましたが、Cマクロ内のネステッド・ループの奥深くで500回以上呼び出されるようになっていますが、それはトレースするには私のスキル(または私の忍耐力)を超えるものです。

それを処理するための「チャンス」を実際に私に与えるには、「最初のチャンス」の例外を取得するための何らかの方法がなければならないと思います。 私にはわからない「最初の例外が発生したらすぐに中断する」という設定があるかもしれませんが、それがすべて発見できるわけではないようです。

誰がそれがどこにあるか、そしてそれを有効にする方法を知っていますか?


[ デバッグ ]メニューから[ 例外 ]を選択し、デバッガで中断したい例外のチェックボックスをオンにします。 "Access Violation"は "Win32 Exceptions"の下にあります。





visual-c++-2008