私は、遡及的にシンボルをpdbに付けることができるMiniDumpWriteDumpを使って最小限のMinidumpを生成しようとしています。現在、これはMiniDumpWithFullMemoryを使用して動作しますが、非常に大きなダンプファイルを生成します。Windowsでシンボルを解決するMinidump
MiniDumpNormalでダンプを生成すると、小さなファイルが生成され、オフセットのあるスタックトレースが生成されますが、Visual StudioまたはWinDbgでシンボルをロードすることはできません。 Visual Studioはちょうど
Binary was not built with debug information
WinDbgのことを私に語った私に語った:
ERROR: Symbol file could not be found. Defaulted to export symbols for app.exe.
私は、フラグのいくつかの組み合わせを試してみましたが、MiniDumpWithFullMemoryを使用せずにシンボルをロードすることはできません。スタックトレースのシンボルを解決できる最小限のダンプを生成するフラグのセットは何ですか?
実行ファイルはデバッグ情報(/ Zi/DEBUG)でビルドされ、実行プロセスにデバッガを付けるとシンボルがロードされ、デバッガがクラッシュしたプロセスに(WERトリガで)ロードされ、シンボルがロードされ、 MiniDumpWithFullMemoryもシンボルをロードしますが、他のダンプタイプはシンボルをロードしません。
mfcアプリケーションで「バイナリはデバッグ情報でビルドされていません」という警告メッセージが表示される可能性があります(http://stackoverflow.com/questions/12721864/binary-was-not-built-with-debug-information-警告意味のあるアプリケーション) –
これはその質問の複製ではなく、デバッグ情報で構築され、MiniDumpWithFullMemoryでダンプされたときにシンボルを読み込みます。 – tx34
シンボルは遅延ロードとも呼ばれ、遅延ロードとも呼ばれません。通常のミニorrカーネルとは異なり、ロードされたモジュールリストはストリームなので、デバッグバージョンとデバッグ情報を含むリリースバージョンの両方を作成してください。あなたのprijectのコマンドラインに/ ziが表示されていることを確認してください。windbgがシンボルをエクスポートするようにデフォルト設定されていないと言った場合は、pdbが生成されます。そしてミニダンプはそのままそのままダンプしました – blabb