2009-11-02 4 views
6

開発者がミニダンプに埋め込むことができるユーザストリームのデータ構造にどのような有用なものを入れるか興味があります。 MINIDUMP_USER_STREAM_INFORMATION構造体の配列へのポインタ[入力]ミニダンプのユーザストリームセグメントに入れる便利なもの

UserStreamParam :MSDNのようなMiniDumpWriteDumpためのパラメータ説明:

PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam

およびthuslyパラメータを記述する。このパラメータの値がNULLの場合、ミニダンプファイルにはユーザ定義の情報は含まれません。テスターがすべてのバグにすべての時間を適切にフォーマットされたログを送信しない傾向があるので

することは、私は、ユーザーストリームに私のプログラムの最後Nログの行を埋め込む検討していました。

また、そのセクションにハードウェア仕様(メモリ、CPU、ビデオなど)を置くこともできます。

他にユーザーがユーザーストリームセグメントを使用したことはありますか?

+0

私はこれを「これに入れることができますか」と「実際にプログラムをデバッグするために何が必要なのですか? –

+0

あなたはそれが将来の疑問であることに同意します。最大限の診断情報を提供することにより、将来発生するケースをデバッグすることができます。 したがって、質問です。 :) デバッグダンプは、顧客を含むサードパーティによって生成されることに注意してください。アプリをクラッシュさせたときの環境を可能な限り理解することは、問題を追跡する上で不可欠なことです。 –

答えて

3

私は履歴ログ情報を含めることをお勧めします。しかし、あるタイプの例外に応答してミニダンプが生成されている場合、システムの安定性が疑わしい場合があるため、ダンプに含めるログファイルの読み込みを停止しても必ずしも最適な計画になるとは限りません。

デフォルトのタイプはMiniDumpWithFullMemoryです。その場合、ユーザーのストリーム情報は、私たちのアプリケーションでは特に有用なように見えません。なぜなら、フルメモリには、必要なすべての情報が含まれているからです(少なくともこれまでのところ)。また、ダンプファイルを送信したときに、すべてのエラーログファイルを取得することに非常に恵まれました。

ただし、ユーザーは設定パラメータを使用してタイプを変更できます。より小さなミニダンプタイプの1つで、ユーザーストリーム情報が非常に役立つことがわかりました。この投稿を見るまで、私はミニダンプ機能のそのパラメータに実際に何の考えも与えていませんでした。完全なメモリダンプが生成されない場合、非常に重要な基本的な構成情報を持つメモリがいくつかあります。また、例外を「引き起こした」ユーザーの詳細を含む構造体は便利です。私は、それらのうちのいくつかをユーザストリームとしてダンプすることを追加することを考慮する必要があります。

1

ここで追加情報を入力するよりも、WerRegisterFileで生成するすべてのログファイルを含める方が便利です。

1

ブレークパッドライブラリは、一部のユーザーのストリームを使用します(bookkeeping information)。スタックトレースから除外できるようにミニダンプ書き込みを行う専用スレッドのスレッドIDを持つストリームが含まれています。ダンプがCRTの無効なパラメータハンドラや純粋な仮想呼び出しハンドラなどの致命的でないコールバックに応答して記述された場合は、アサーション情報を持つストリームも含まれます。

関連する問題