死後クラッシュ-ダンプ-デバッグを持たない正確なバージョンのWindows DLLのシンボルサーバー

StackOverflow https://stackoverflow.com/questions/2237017

質問

内申し込んに使っているのMiniDumpWriteDump機能を参照dbghelp.dll)を書くクラッシュダンプファイルもアプリがクラッシュします。

しかもシンボルを格納するサーバーで全て実行可能ファイル、pdbファイルでもお客様に送ってクラッシュ-ダンプファイル、デバッガを自動でピックの正しいバージョンの実行とデバッグ情報です。

私も店Windows DLLのntdll.dll,kernel32.dll,...)とそのデバッグ情報の記号サーバーを使用SymChk).デバッグ情報を取得株式会社エンパシは、Microsoft社からwindowsの公開シンボルサーバーです。

ほとんどの時間をこの作品にぴった場合を除く:

  • お客様のクラッシュのWindows DLLの
  • とお客様用のDLLあるいはサーバーのシンボル

これはかなり差戻し可能な店舗毎に趣のWindows DLLのシンボルサーバ(特に毎週のパッチ).

そのため、お客様のクラッシュにしましょう、バージョン5.2.123.456のNTDLL.DLLったこの正版DLLの私のシンボルサーバー、そして私は滞っております。でもMicrosoftの公開サーバーのシンボルはならないので、できるだけではなく、デバッグ情報は、DLLのです。

私の現在の値段が高くなりますが、お客様の生の声をお聞き、彼のDLLのものが容易でない部分もあります。そのためにはうってよりよい解決策です。

がわかりやすく伝えるためのデバッガを示す正しい呼び出しスタックに、デバッグ情報を特定のDLL、まったくありませんが、正確にDLL?

まあわかりやすく伝えるためのすべてのバージョンのすべて(重要)Windows DLL(株式会社エンパシは、Microsoft社からwindows)?

編集:

のいかんを簡単に解決します。さModuleRescue参照 http://www.debuginfo.com/tools/modulerescue.html)生成することができダミーのDLLのからminidumpファイルです。これらのダミーはDLLにデバッガではニーズの満足だけでなく、正しく開始搭載のデバッグ記号をマイクロソフト社のサーバー

役に立ちましたか?

解決

WinDbgののシンボル解決を緩和することが可能です。私のに答えるhref="https://stackoverflow.com/questions/1876051/how-can-i-change-a-modules-checksum-in-a-minidump/1876694#1876694">見ます同様の質問。一方、私はここに提案する解決策は、DLLを自分がデバッグシンボルを特定する異なるGUIDを持つよりも、の他、の同じであるという事実に依存しています。 DLLの異なるバージョンがありそうな別のバイナリを持っているとしているので、シンボルは、おそらくあなたがそれらをロードするために取得することができた場合でも、適切に一致するつもりはありません。

他のヒント

私はMicrosoftのシンボルサーバーでもバイナリを提供してかなり確信しています。私は私の店で探していると私はマイクロソフト.dllファイルのトンを参照してください。私は自分の_NT_SYMBOL_PATHのように定義されている。

SRV*F:\Symbols\Microsoft*http://msdl.microsoft.com/download/symbols

この方法は、それがマイクロソフトのパブリックサーバーからそれらをコピーしようとする前に、まず私の地元の店を検索します。

できてい 複数の シンボルサーバーをシンボル。そのシンボルのパスポート独自のサーバーのための独自のプライベートモジュールのMSサーバOSモジュールを参照 シンボルのパス:

この簡単に統合できる Microsoft公開シンボルの店舗を利用 以下の初期設定:

_NT_SYMBOL_PATH=srv*c:\mysymbols*http://msdl.microsoft.com/download/symbols;cache*c:\mysymbols

Microsoft公開シンボル店 がもれなく記録されてい http://msdl.microsoft.com/download/symbols.

?どのような部分に動作していませんか?

私は正確に、あなたの状況に行ったことがないが、私は、デバッガが暗いDLLに呼び出しまで、あなたのコードにあったコールスタックの正しい部分を与えることを期待します。もちろん、実際のクラッシュシンボルにダウンそこからは利用できないだろうが、あなたはNTDLL APIが呼び出されていたとされた引数は、そのコールに渡されたかを見ることができない?

あなたはミニダンプデバッグ用に使用しているどのツール言わない:WinDBGのか、VS

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top