問題タブ [windows-error-reporting]

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.

0 投票する
1 に答える
320 参照

debugging - Windows (WER) は、プロセスのクラッシュと同時にミニダンプとフル ダンプを生成できますか?

多くのクライアントにアプリケーションを展開しており、アプリケーションがクラッシュした場合にアプリケーションのダンプを収集するように Windows を構成したいと考えています。クラッシュは頻繁に発生するものではないため、問題の原因を特定するために十分な情報をダンプに記録する必要があるため、完全なダンプを生成するように Windows を構成しました。

クライアントのアップロード速度が遅く、ダンプが約 800 MB であることを考えると、ミニダンプにデバッグするのに十分な情報が含まれていない場合にのみ、ミニダンプとフル ダンプを同時に生成してフル ダンプを収集することを考えていました。

これは可能ですか?不可能な場合、コマンドラインでダンプからミニダンプを抽出できますか?

0 投票する
1 に答える
4493 参照

c# - ユーザー プロンプトなしで RegisterApplicationRestart を使用してクラッシュしたプログラムを再起動する

Windows エラー報告 API 呼び出しRegisterApplicationRestartを使用して、アプリがクラッシュしたり、PC が再起動したりしたときに、WER によって自動的に再起動されるアプリケーションを登録しています。

ただし、アプリがクラッシュすると、デフォルトの WER ダイアログがポップアップし (「xyz が応答を停止しました」/「問題に関する詳細情報を送信しますか」)、このダイアログを閉じた後にのみプログラムが再起動します。

このダイアログ ボックスを非表示にする方法はありますか?

SetErrorMode(SEM_NOGPFAULTERRORBOX)を呼び出すと、予想どおりダイアログ ボックスが抑制されますが、再起動自体も機能しなくなります。

レジストリ キーを変更してダイアログ ボックスをグローバルに抑制するHKEY_CURRENT_USER\Software\ Microsoft\Windows\Windows Error Reporting\DontShowUIと、同じ結果が得られます。ダイアログ ボックスは抑制されますが、アプリも再起動しません。

2 番目のウォッチドッグ プログラムのような回避策があることは承知していますが、Windows エラー報告 API のツールを使用して、これをできるだけ簡単に解決したいと考えています。

0 投票する
1 に答える
161 参照

powershell - PowerShell 経由で MEME を使用して製品グループに製品を追加する

Microsoft Ecosystem Metadata Exchange 製品マッピング ツールに付属の PowerShell モジュールを使用して、製品マッピングの作成を自動化しようとしています。製品を作成し、ファイルを正常にマップすることができました。出力ファイルもツール自体に正常にインポートされます。私が抱えている問題は、PowerShell モジュールを使用して製品を製品グループに追加することです。Must add the product to the store before adding product groups次のスクリプトを使用すると、エラーが発生し続けます。

ご覧のとおり、製品を作成した後にグループを追加しようとしましたが、うまくいきません。理想的には、エクスポートされたメタデータ ファイルから ProductGroups を取得することによってグループ変数を設定する何らかの方法が必要ですが、この PowerShell モジュールは非常に制限されており、この件に関して利用できるリソースは 2 つだけです。何か案は?

0 投票する
1 に答える
287 参照

windows - プロセスの未処理の例外ハンドラーを無効にすることはできますか?

SAP システムでシステム テストを実行しています。ときどき SAP がクラッシュしますが、仮想マシンを以前に保存した状態にリセットすることで、それらのクラッシュから回復したいと考えています。

私の問題は、そのようなクラッシュを確実に検出できないことです。WER LocalDumps レジストリ エントリを作成しましたが、ダンプが取得されません。

SAP は未処理の例外ハンドラーを登録し、さまざまな種類の例外に対してさまざまなタスクを実行しているようです。メッセージ ボックスを表示してアプリケーションを終了することもあれば (圧縮エラーの場合など)、いわゆるショート ダンプが発生することもあります。

メッセージ ボックスにもショート ダンプにも関心がないため、SAP の未処理の例外ハンドラを無効にする方法を探しています。これにより WER が起動し、ダンプ ファイルが書き込まれ、システム テストを再開するためのアクションを実行できます。

パフォーマンス上の理由から、すべてのテストで VM を再起動したくありません。

私が試してみました:

  • 私は基本的に未処理の例外ハンドラーに精通しています。それらを自分の .NET コードに正常に適用しました。
  • SetUnhandledExceptionFilter (MSDN)などを見ましたが、呼び出しプロセスのみに適用され、SAP のコードを変更することはできません。
  • DisableUserModeCallbackFilterについて読みましたが、私の場合は役に立たないと思います

有効にできるレジストリ設定 (ImageFileExecutionOptions など) またはShimがあるかどうか疑問に思います。

0 投票する
1 に答える
169 参照

crash-reports - アプリケーション ビジー ウィンドウの設定

サーバー パスにダンプ ファイルを生成するように WER を構成しましたが、ダンプには時間がかかります。

この間にユーザーがアプリケーションをクリックすると、一部のマシンでは次のウィンドウが表示されます (ウィンドウには多かれ少なかれ次のように表示されます。

ここに画像の説明を入力

他の一部のマシンでは、ユーザーが死にかけているアプリケーションをクリックすると、何も要求せずにプロセスが終了し、ダンプの生成が中止されます。

このウィンドウを表示するかどうかを設定するにはどうすればよいですか?

0 投票する
3 に答える
2418 参照

c# - 未処理の例外とワーフォールト

次のコード スニペットがあるとします。

未処理の例外とfinallyブロックがあります。

werfaultが有効Cancelになっていて、「問題を自動的に解決」しようとしているときに押すと、最終的にブロックが実行されます。

しかし、私が押していない場合Cancel、次のウィンドウでClose The Program finallyブロックをクリックしても実行されません。

そして最後に無効werfaultにしてクリックすると、Close Program 最終的にブロックが実行されます。

この状況を説明する c# 仕様のドキュメントは見つかりませんでした。また、私はこれを見つけましたMSDN

ハンドルされないエラーの後の finally ブロックの実行は、例外アンワインド操作がどのようにトリガーされるかによって異なります。

しかし、説明はありません。なぜこれが起こっているのか誰でも説明できますか?

更新 1 : .Net Framework 4.5.1 および 4.5.2 でテストしました。

0 投票する
0 に答える
84 参照

windows - Windows でのさまざまなクラッシュ動作

一部のアプリケーションがクラッシュするたびにダンプを作成するように、WER (Windows エラー報告) を構成しました。

通常は機能しますが、機能しないシナリオがいくつか見つかりました。例として Winword.exe を取り上げます。

  1. 場合によっては、プロセスが単純に消えてしまいます。ウィンドウも、イベント ログも、クラッシュ ダンプもありません。何もない。
  2. 他のケースでは、アプリケーションが動作を停止したことを示すウィンドウが表示されますが、アプリケーションは自動的に再起動され、クラッシュ ダンプも生成されません。
  3. それ以外の場合、アプリケーションは「アプリケーションが動作を停止しました」で期待どおりに終了し、正常に動作します。

これが発生する理由と、これらのクラッシュをトラップしてダンプを生成する方法について何か考えはありますか?