問題タブ [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 投票する
1 に答える
904 参照

asp.net-mvc - DebugDiag と MVC4 は使用可能なスタック トレースを提供しません

実稼働サーバーで CPU 使用率が高い問題が発生したので、将来に備えてそのような状況をローカルでデバッグする練習をすることにしましたが、ローカル MVC4 サイトをデバッグしようとすると、チュートリアルと同じ有益なスタック トレースが得られません。します。

質問: より有益なスタック トレースを取得できるかどうか知っている人はいますか?

HomeController.Index がどこかにあるはずですが、唯一のメソッド呼び出しは次のとおりです。

System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus ByRef)

ローカル設定

サーバー環境をシミュレートするために、ローカル IIS 8.0 (iis Express ではない)で実行されている.Net 4を使用して、ローカルMVC4 サイトを作成しました。私のローカル マシンはWindows 8を実行しています。

デバッグ ツール: Debug Diagnostics 1.2

このリンクをたどりました:http://www.iis.net/learn/troubleshoot/performance-issues/troubleshooting-high-cpu-in-an-iis-7x-application-pool

「図 6 - DebugDiag 分析レポート」。「FastApp._default.Page_Load(System.Object, System.EventArgs)」を含む最上行のスタック トレースのスクリーンショットがあります。

チュートリアルのスクリーンショット: ここに画像の説明を入力

私のスクリーンショット: ここに画像の説明を入力

最大CPU使用率をシミュレートする私のコード:

重複の可能性:

DebugDiag が .NET 4 で .NET スタック情報を表示しない

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

waitformultipleobjects - debugdiag を使用して追加の呼び出し関数情報を取得する

.dmp ファイルで debugdiag 1.2 を使用しています。私はマイクロソフトのサポートと協力しており、さまざまな関数トレースの詳細を取得しています。彼のバージョンは、関数名とパラメーターがはるかに冗長です。

彼と同じものを手に入れるのに何か欠けているものがあるのだろうか?

たとえば、次のようになります。

同じダンプ ファイルの場合、次のようになります。

DebugDiag は非常に便利なツールのように見えます。これについて十分に理解したいと思います。お時間をいただきありがとうございます。

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

.net - DebugDiag と LeakTrack を使用した Windows ストア アプリケーションのネイティブ メモリ リークのトラブルシューティング

シナリオは非常に単純です。

dotMemory プロファイラーを使用した後、ネイティブとして識別された Windows ストア アプリでメモリ リークが発生しました。このツールはマネージ メモリの分析に限定されているため、DebugDiag を使用してメモリ ダンプ分析を実行し、さらに調査を行いました。これにより、さらに一歩進んで、増加するメモリが mscoreei によって使用されるヒープにコミットされていることがわかりました (誰かがこの dll に関する追加情報を持っていますか?単純な Google 検索ではあまり返されません)。

DebugDiag には、メモリ リーク分析ウィッチと呼ばれる優れた機能もあり、実行中のプロセスに LeakTrack.dll を挿入してメモリ割り当てに関する情報を収集します。これにより、マネージ コードのどの部分がネイティブ リーク リソースを使用しているかを特定できる可能性があります。ただし、これを Windows ストア アプリで使用しようとすると、エラーが発生します。

"プロセス中のリークを監視できませんでした .... 全員が ...\LeakTrack.dll の読み取りおよび実行権限を持っていることを確認してください".

そのファイルへのアクセス許可を変更して、全員がフル アクセスできるようにしましたが、それでも同じエラーが発生します。

私の質問は次のとおりです。

Windows ストア アプリで LeakTrack を使用するにはどうすればよいですか?

Windows ストア アプリでネイティブ メモリ リークを実行するための最良/代替アプローチは何ですか?

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

debugging - DebugDiag 1.2 ミニダンプが壊れていますか?

2 台の 32 ビット Windows Server 2003 R2、SP2 マシンがあります。DebugDiag 1.2 を使用して、IIS アプリケーション プールのパフォーマンス ベースのダンプを実行しようとしました。両方のサーバーでこれを試しましたが、WinDBG/Visual Studio/DebugDiag で読み取れない .dmp ファイルが作成されています。

コマンド ラインから Adplus.vbs を使用して、過去に手動の .dmp ファイルを正常に作成できました。

dumpchk.exe を使用すると、次のメッセージが表示されます。

他の誰かがこのようなものに出くわしましたか?

0 投票する
2 に答える
233 参照

c++ - Memory leak on CreateErrorInfo when analyze from debugdiag?

I am analyzing a memory dump created by debugdiag. It shows CreateErrorinfo method call which leads to memory leak like below,

I am using proper map files for mydll and myanotherdll both. What is the meaning of CreateErrorInfo ? how it's leading to memory leak?

Function Source Destination mfc90u!operator new+33
mfc90u!CPlex::Create+1f mfc90u!operator new kernel32!TlsSetValueStub
kernel32!TlsSetValueStub
MYANOTHERDLL!CreateErrorInfo+188e2
MYDLL!MyClas::OnTimer+a3 ......\myfile.cpp @ 4639
MYDLL!CMainFrame::OnTimer+71 ......\mainfrm.cpp @ 1246
mfc90u!CWnd::OnWndMsg+407
mfc90u!AfxCallWndProc+a3
user32!MDIClientWndProcW
mfc90u!__sse2_available_init+657b
mfc90u!CWnd::WindowProc+24
mfc90u!AfxCallWndProc+a3
mfc90u!AfxWndProc+37 mfc90u!AfxCallWndProc mfc90u!AfxWndProcBase+56 mfc90u!AfxWndProc mfc90u!AfxWndProcBase

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

clr - clr.dll 例外により、iis がクラッシュしました。clr.dll の PDB シンボルがロードされていません。SOS のバージョンが、デバッグしている CLR のバージョンと一致しません。

最近、asp.net アプリケーションがクラッシュしました。Windowsでイベントログを取得しました.2つのタイプの例外メッセージ:

ミニダンプもありました。それをwindbgにロードします。私のワークステーションの clr バージョンは 4.0.30319.1022 で、ダンプの clr バージョンは 4.0.30319.1008 です。リンクから学び、正しいclr/sos/mscordacwks.dllバージョンをダウンロードしてclr1008フォルダーに入れ、clr1008フォルダーをwindbg exeフォルダーにコピーします。

その後、windbg でいくつかのコマンドを入力し始めます。まず、バージョン 1008 の sos をロードします。.load clr1008\sos.dll

バージョン 1008 の正しい clr を読み込もうとしました

質問: 1) sos または clr.dll を正しくロードしていないようです。次に何をすればよいですか? バージョン 1008 の clr.dll をシンボル パスにコピーする必要がありますか? mscordacwks.dll の正しいバージョンが既にあるようです。

2) 例外はアンマネージ コードが原因のようですが、根本的な原因を見つける方法は?

3) '.ecxr' も実行しますが、出力がわかりにくいです。

更新: 昨日、' !analyze -v ' の出力を投稿しました。今日、ダンプファイルの解析をやり直しました。1) clr1008\sos.dll をロード、2) exe ' .cordll -u -ve -lp clr1008' で clr.dll をロード、3) !analyze を実行、出力は上記のリストです。不一致sosのエラーがなくなりました。

上記のメッセージは消えました。下はまだあります。

「.chain」の出力は次のとおりです。

CLR 1008 の不一致は重要か重要でないか、分析に影響しますか? 不一致のため、例外の詳細を確認できませんか? それともネイティブ コードの例外で、文字どおりには見えないのでしょうか?

更新 2: DebugDiag 1.2 を使用してダンプ ファイルを分析し、レポートを取得しました。レポートの最初の行には次のように記載されています。

更新 3: '.ecxr' の出力をここに出力します。スレッド 16:

更新 4: DebugDiag レポートから取得したスタック出力:

スレッド 16 - システム ID 2308 このスレッドは完全には解決されておらず、問題になる場合とそうでない場合があります。これらのスレッドのさらなる分析が必要になる場合があります。

更新 5:

前回の更新: 以前は、正しいスタックが表示されませんでした。インターネットで検索します。それから私はここからそれを手に入れました

くそー、私はついにそれをやった。^_^

ミニダンプをデバッグしている場合は、実行可能パスが clr.dll も指していることを確認する必要があります。