ADPlus / cdb をマシンのデフォルトの Just-In-Time デバッガーとしてセットアップしました。プロセスに未処理の例外があったり、何らかの理由でクラッシュしたりした場合、ADPlus にクラッシュ ダンプを生成してもらいたいと考えています。ADPlus 構成ファイルを使用して出力ディレクトリを設定し、dmp ファイルをクラウドにプッシュするために使用されるプレコマンドを実行しています。
これが機能することをテストするために、未処理の例外をスローしてクラッシュする非常に単純なプログラムを作成しました。ADPlus は常に想定どおりにアタッチしますが、必要なダンプを 15 回に 1 回しか生成できません。システムで何も変更せずに、クラッシュするプログラムを連続して実行すると、異なる結果が得られます。
ほとんどの場合、cdb から次のエラーが表示されます。
0:000> g
^ No runnable debuggees error in 'g'
0:000>
*[EOF]*
正常に動作する場合、ログの同じ場所は次のようになります。
0:004> g
FirstChance_epr_Process_Shut_Down
*[More stuff after here]*
なぜ私がこの振る舞いをするのでしょうか?役立つ場合は、構成ファイルと完全なログを投稿できます。When-it-works ログと when-it-doesn't-work ログの唯一の違いは、すべての行が0:004>
動作する0:000>
場合と動作しない場合で始まることです。