2012-01-19 12 views
3

お客様からクラッシュダンプファイルを受け取りましたが、VS2010を使用してダンプファイルをデバッグしようとしています。生成されたシンボルファイルとともにビルドに使用したソースコードを取得しました.VSにはそれらを含むディレクトリへのパスが提供されています。すべてが正しいと思われる。しかし、私がデバッグしようとすると、VSには、 ".exeと一致するバイナリがない"、またはそのディレクトリに含まれている.dllがあることが報告されます。私はchkmatchを使っていくつかのバイナリとシンボルファイルを比較し、それらが一致したこと、タイムスタンプと署名、そしてすべてを報告します。私はオンラインで検索しましたが、私が直面しているように誰もこれに悩まされていないようです。私が見つけた解決策は、私がすでに行ったことです。クラッシュダンプのデバッグ:同じビルドイベントのバイナリファイルとシンボルファイルがVS2010で一致しない

私はうまくいけば簡単なことを見逃しています。

私には何が欠けていますか? VSがバイナリとシンボルファイルを一致させる方法を教えてください。

+0

モジュールウィンドウを見てきましたか:http://msdn.microsoft.com/en-us/library/4c8f14c9.aspx?それは通常次の問題に私を向ける:)。 – DaveShaw

+0

私はモジュールウィンドウを持っていましたが、あいにく私が残念なことに分かっていないことはあまり教えてくれませんでした。 – wpwall

答えて

1

あなたがダウンロードツール(http://msdn.microsoft.com/en-us/windows/hardware/gg463016をWinDbgの

  1. を使用することができ、あなたが避けるために、バージョン6.11.1.404を使用することができますSDK全体をダウンロードしてインストールしてください)。

  2. WinDbgを起動し、ダンプファイルを読み込みます([ファイル]> [クラッシュダンプを開く])。

  3. シンボルの場所を指定します([ファイル]> [シンボルファイルパス])。
  4. シンボルの読み込みを有効にする(コマンドプロンプトで!sym noisy)
  5. すべてのシンボルをアンロードします(コマンドプロンプトで.reload/u)。
  6. 問題のあるモジュールのシンボルを読み込みます(コマンドプロンプトでld)。
  7. エンジンは、シンボルのロード先と一致しない理由をエンジンに通知します。
  8. ダンプ・ファイル(lm vm)に含まれるモジュールの詳細情報をモジュールのタイム・スタンプに入れておくこともできます。

これが役に立ちます。

0

別のことを確認する:同じ製品の他のビルドバージョンのバイナリとシンボルがシンボルパスにあった場合、問題が発生しました。

VS(私は2015を使用しています)は、すべてのパスを検索して正しいファイルを選択していないようです - クラッシュダンプに固有のシンボルパスを追加する必要がありました。それらが最初に見つけられ使用されるシンボルパスリスト。

関連する問題