プロセスがクラッシュしたときにミニダンプを作成するにはどうすればいいですか? 質問する

プロセスがクラッシュしたときにミニダンプを作成するにはどうすればいいですか? 質問する

システム設定を変更しても、プロセスからミニダンプを作成できません。質問は次のとおりです。

  • システムはクラッシュ時にユーザープロセスのミニダンプを作成しますか?

    はいの場合、どの設定を構成する必要がありますか

  • または、プログラムでミニダンプを作成する必要がありますか。

  • クラッシュの調査中にミニダンプはどれほど効果的か

Windows XP、C++、VC6を使用しています

ベストアンサー1

プログラムでミニダンプを作成する必要があります(1つの例外があります。次のリンクを参照してください)。CodeProjectには、MiniDumpsに関する記事基本的には、 を使用しdbghelp.dll、 関数を使用しますMiniDumpWriteDump()MiniDumpWriteDump に関する MSDN)。

このようなダンプがどの程度効果的であるかは、アプリケーションによって大きく異なります。最適化されたバイナリの場合、ダンプは実質的に役に立たないこともあります。また、経験がなければ、ヒープ/スタック破損のバグによって誤った方向に進んでしまう可能性があります。

しかし、最適化がそれほど難しくない場合は、ダンプがするヘルプ、つまり、スタック トレースとローカルで使用される変数の値を持つことが役立つすべてのバグ、つまり、多くの純粋仮想関数の呼び出し (つまり、破棄の順序が間違っている)、アクセス違反 (初期化されていないアクセスまたは NULL チェックの欠落) など。

ちなみに、メンテナンス ポリシーで許可されている場合は、アプリケーションを VC6 から VC8 や 9 などの許容できるバージョンに移植してください。大きなメリットになります。

おすすめ記事