0

クラッシュダンプを見ています。一部の変数はwindbgで完全に表示できるように見えますが、他の変数は単に「メモリアクセスエラー」と表示されます。これは何が原因ですか?一部の変数には意味のある値があり、他の変数には単にリストされているのはなぜですか?

すべての問題は、次のポインターに関連付けられているようです。これらのポインターの多くは初期化されていませんが、それらの大部分は有効な場所を指しているはずです。このクラッシュの性質 (単純な null ptr デリファレンス) に基づいて、プロセス全体が昼食に出ていないことはかなり確信しています。

4

2 に答える 2

2

ミニダンプはほとんど役に立ちません。使用中のすべてのメモリのスナップショットが含まれているわけではありません。代わりに、それらに含まれているのは、いくつかの重要な構造/リスト (ロードされたモジュール リストなど) と、クラッシュしているスタックの内容だけです。

そのため、ダンプ内で追跡しようとするポインターは、単に疑問符を付けます。代わりに完全なメモリ ダンプを取得すると、これらのバッファが何を指しているかを確認できます。

-スコット

于 2010-11-07T15:08:07.107 に答える
1

それらがローカル ポインター変数である場合、最も可能性が高いのは、ポインターが初期化されていないか、ポインターではない可能性がある別の変数を格納するためにスタックの場所が再利用されていることです。どちらの場合も、ポインタ値はメモリの読み取り不可能なランダムな部分を指している可能性があります。

于 2010-10-29T20:33:55.503 に答える