問題タブ [minidump]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
winapi - Windows の破損したミニダンプ
プログラムがクラッシュすると、未処理の例外ハンドラーからミニダンプが作成されます。私が抱えている問題は、人々が私にクラッシュ ダンプを送ってきたことですが、Visual Studio 2010 でそれらを開こうとすると、破損していると表示されます (「ダンプ ファイルの形式が無効です」)。dbghelp.dll
プログラムと一緒に配布していませんが、配布する必要がありますか? それがバージョンの問題である場合、Visual Studio は私に通知し、上記のメッセージを出力しないと思います。
ログを生成するために使用するコードは
debugging - DbHelp を使用してダンプ内の PEB (プロセス環境ブロック) にアクセスする方法
デバッガー エンジン API を使用してダンプ内の PEB を取得する例を見つけました。これは DbgHelp を使用して可能ですか? DbgHelp を使用してコメントと例外情報を引き出す既存のコードを用意します。可能であれば、PEB から情報を取得したいと考えています。
.net - アプリケーションが NativeImage と JIT バージョンの .Net dll の両方をロードすることは可能ですか?
リリースされたアプリケーションのいくつかのミニダンプを調査しています。これらのクラッシュをローカルで再現することはできませんが、多数のレポートで、読み込まれた dll のリストに通常と .ni の両方が含まれていることに気付きました。一部の WPF dll のバージョン。
VS 2010 の「モジュール」ペインから、たとえば、PresentationCore (ここでフォーマット)
PresentationCore.dll C:\Windows...\PresentationCore.dll - 読み込まれたシンボル。C:\Users...\PresentationCore.pdb
PresentationCore.ni.dll *C:\Windows...\PresentationCore.ni.dll - 一致するバイナリが見つかりません。PresentationFramework.Aero.dll *C:\Windows...\PresentationFramework.Aero.dll - 一致するバイナリが見つかりません PresentationFramework.Aero.ni.dll *C:...\NativeImages...\PresentationFramework.Aero.ni.dll - 一致するバイナリが見つかりません。
基本的に、NativeImage と JIT バージョンの両方をロードしているように見えます。これは可能ですか?
リリースされた製品のロードをローカル マシンで確認したところ、Visual Studio はモジュール ペインにロードされた 1 つのバージョンのみを一覧表示します。さらに、Fusion は NativeImage バージョンのロード時にエラーを報告しません。私が想定しているのは、通常の警告です。
WRN: ネイティブ イメージは LoadFrom コンテキストではプローブされません。ネイティブ イメージは、Assembly.Load() のように、既定の読み込みコンテキストでのみプローブされます。
私の知る限り、これらのバイナリを参照するために LoadFrom を使用していないので...
コールスタックに NativeImage と通常の Dll が混在している理由はありますか? それは正常ですか?これが問題を引き起こしている可能性があるかどうか、また、これを防ぐ方法をお勧めしますか?
c# - ミニダンプを開く: シンボル ファイルにネイティブ シンボルがありません
C# プロジェクトでは、UnhandledException でミニダンプを作成します。私の開発マシンでは、プロジェクト ソースとビンはパス K:\projects\*MYPROJECT* の下にあります。開発マシンでクラッシュさせることができれば、すべてが完全に機能し、ミニダンプ ファイルを開いてソース コード、コールスタックを正しく表示できます。 、スレッドなど
エンド ユーザー プログラムのパスは明らかに異なります。例として、テスト マシン プロジェクトは C:\*MYPROJECT* の下にインストールされます。これは、pdb シンボル ファイルと共にデプロイされます。とにかく、そのマシンで生成されたミニダンプを開発コンピューター (ソース ファイルがある場所) で開こうとすると、Visual Studio は "テスト パス" (C:\*MYPROJECT*) の下で実行可能ファイルと pdb ファイルを見つけようとします。 )もちろん見つけません。
K:\projects*MYPROJECT* を含むようにシンボル パスを設定しようとしましたが、結果が得られなかったので、同じ Test ディレクトリ構造を再作成し、C:\*MYPROJECT* を作成し、そのディレクトリの下に .exe および .pdb ファイルをコピーしました。現在、Visual Studio はそれらを見つけることができますが、「シンボル ファイルにネイティブ シンボルがありません」と表示され、ソース コードが表示されません。
正しいシンボルをロードするにはどうすればよいですか?