問題タブ [debugdiag]

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 投票する
0 に答える
283 参照

debugging - Windows 10 で UI オートメーションを使用するとメモリ リークが発生する

Windows 10 マシンでメモリ リークが発生しています。問題の原因となっているプロセス (WPF アプリケーション) から取得したダンプを調査したところ、「MS.Internal.Automation.SynchronizedInputProviderWrapper」の多くのインスタンスと、基本的にほとんどのオブジェクトが保持されていることがわかりました。このタイプは、ガベージ コレクションではなくメモリを参照していました。

私は dotMemory (インスタンスのキー保持パス)、Visual Studio 2019 (ダンプ比較用)、および WinDbg をさらに調査するために使用しています。

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

このスタックオーバーフローの回答によると: UIAutomation メモリの問題

Win 8 RT および Windows 2012 サーバーの問題を修正するロールアップです: https://support.microsoft.com/en-us/help/2885482/memory-leak-when-using-ui-automation-in-windows- 8

Microsoftによると:このリンクを参照してください

UI オートメーション フレームワークを使用する複数のアプリケーションが Windows 8 ベースのコンピューターで同時に実行されている場合、メモリ リークが発生し、CPU 使用率が高くなります。

また、Windows 10 でも同じ問題が発生する可能性があると思いますが、この問題を修正する修正プログラムまたはロールアップが見つかりません。

アップデート:

SuperDump で別の分析を行ったところ、メモリ リークの潜在的な説明が見つかりましたが、コール スタックを解釈できません。

ありがとう

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

c# - 特定のコードによっては、DebugDiag ダンプに .NET 例外が含まれない

DebugDiag を使用して、処理されない .NET 例外の情報を含むダンプを作成しようとしています。

ダンプ ファイルの作成は、実行中のコードに依存しているようですが、その理由はわかりません。

これらは私が取ったステップです:

  1. 例外DebugDiagTestをスローする次のコードで名前を付けた単純なコンソール アプリケーションを準備します。InvalidOperationException

  2. でコンパイルして実行しDebugDiagTest.exe trueます。まだキーを押さないでください。キーが押されるまで待ちます (ステップ 4)。

  3. DebugDiag 例外ルールを準備します (この記事に従うことができます)。

  4. 実行中の に戻り、DebugDiagTest.exe何らかのキーを押してクラッシュさせます。

  5. に移動する C:\Program Files\DebugDiag\Logs\Crash rule for all instances of DebugDiagTest.exeと、ファイルが表示.dmpされます。

  6. で実行しDebugDiagTest.exe false、再び に移動すると、ファイルが作成されていないC:\Program Files\DebugDiag\Logs\Crash rule for all instances of DebugDiagTest.exeことがわかります。.dmp

いつでも再実行できるDebugDiagTest.exe trueようになり、毎回ダンプ ファイルが作成されることを確認できます。ただし、再実行してDebugDiagTest.exe falseもダンプ ファイルは作成されません。

私の質問:
実行DebugDiagTest.exe trueするとダンプが作成されるのに、作成されないのはなぜDebugDiagTest.exe falseですか?