0

私はここでストローに手を伸ばしていることを知っていますが、これは謎です... ポインタや助けは大歓迎です.

リリース バイナリのみにクラッシュが見られます。クラッシュは、バイナリがダウンし、依存しているサブライブラリを終了するときに発生します。再現できるかどうかは、マシンによって異なります。クラッシュの再現に 100% 信頼できるものもあれば、問題をまったく示さないものもあれば、その中間のものもあります。クラッシュはいずれかのサブライブラリの奥深くにあり、がれきをデバッガー (MSVC 2008 SP1) で調べられるようになるまでに、スタックが破損している可能性が高くなります。デバッガーの下でバイナリを実行すると、バグが発生するのを防ぐことができます。リモート デバッグと同様に、VNC 経由でマシンに接続することもできます。Microsoft Driver Development Kit をインストールしようとしましたが、そうすることでバグも解消されました。

次に見るのに最適な場所はどこですか? この状況では、どのツールが最適でしょうか? 競合状態のように聞こえますか、それとも何か他のものですか?

4

4 に答える 4

1

Rational Purifyを試しましたか?私はこれを使用しました(約4-5年前)。次に、メモリのバグ、スタックの破損、無効なハンドルなどを追跡するのに役立ちました。

于 2010-05-28T20:40:54.820 に答える
1

AppVerifierGFlagsを一緒に試して、ページ ヒープの破損を見つけます。

デバッグするには、Visual Studio ではなく、デバッガーとして WinDbg が必要になる可能性があります。

また、発生しているようなクラッシュを追跡するための高度な Windows デバッグに関するもお勧めします。

于 2010-05-31T17:47:32.240 に答える
1

万が一スレッドプールを使用していて、未処理のジョブ オブジェクトをキャンセルしたり、完了するのを待ったりしていませんか?

于 2010-05-31T23:50:59.707 に答える
0

問題は、Visual Studioでの有害な_SECURE_SCLフラグの設定の競合であり、DLLとその依存関係の1つとの間にサイレントABIの非互換性が発生していました。

于 2010-06-02T17:10:18.963 に答える