0

Java から JNI を介して C++ .dll を呼び出していますが、以前はクラッシュしたときに、Visual Studio を開いてデバッグするかどうかを尋ねる従来のポップアップが表示されました。突然、ただ閉じます。Visual Studio のインスタンスを実行してみて、スローされた例外をキャッチして停止することを期待して、プロセスにアタッチしました。例外が表示されます。

First-chance exception at 0x027bfeb8 in java.exe: 0xC0000005: Access violation reading location 0x0000000000000008.
First-chance exception at 0x027c1794 in java.exe: 0xC0000005: Access violation reading location 0x0000000000000008.
First-chance exception at 0x0281b3a0 in java.exe: 0xC0000005: Access violation reading location 0x000000000000000c.

閉店するまで続くの?

デガガーにデバッグを停止するように指示するボックスを何らかの形でチェックしましたか? これらの例外を強制的にキャッチする方法はありますか?スタック トレースを表示できます (.dll はデバッグ シンボルでビルドされます)。私のラボメイトのコンピューターは、彼のマシンで動作を再現するときにデバッグするように彼に促します。そのため、誤って有効/無効にしてしまったようです。

ツール - >オプション - >ビジュアルスタジオでのデバッグを掘り下げました。ジャスト イン タイム デバッグは、3 つのタイプすべてで有効になっています。Debug->Exceptions の下で、何かをキャッチすることを期待してそこにあるすべてのタイプをチェックしましたが、実際に問題を引き起こしているものに関連するものは何もないと思います。

何かがクラッシュしたときにデバッグを求められる動作を再度有効にする方法はありますか?

編集:

私は他の方法でバグを解決しました。値 CCCCCCCCCCCCCCCC のポインターを解放していました。これは、ループされていたポインターの配列で初期化されていなかったためです。これは、デバッガが処理できないほど激しくクラッシュするようなエラーではないようです。そもそもデバッグできなかった理由を知りたいです。

4

0 に答える 0