7

おそらくこれに対する簡単な答えがあるように感じますが、見つけることができませんでした。

問題のシナリオは、C# .NET コンソール アプリです。

私は通常、DebugDiag 1.2 を使用して、経験したハングに起因する .dmp ファイルを調べます。通常は、スレッド ロックの問題です。それらは、DebugDiag の「Create Full Userdump」オプションを使用して作成されます。

私は最近、.NET 4 の機能の一部を使い始める準備として、.NET 4 をターゲットとするアプリのコンパイルを開始しました。しかし、これらの .dmp ファイルを DebugDiag で分析すると、.NET スタック情報がすべて欠落していることに気付きました。

CLR ターゲットを .NET 3.5 に戻し、新しい実行可能ファイルから .dmp をキャプチャすると、.NET コール スタック情報が表示されます。

DebugDiag の出力を見ると、次のようなメモが表示されます。

CLR 情報

CLR バージョン = 4.0.30319.17929 CLR デバッガー拡張機能 = C:\Program Files\DebugDiag\Exts\psscor4.dll

.NET スレッドのまとめ

ThreadStore のリクエストに失敗しました

.NET 3.5 .DMP ファイル (psscor2.dll を使用) は、「Threads Summary」ヘッダーの下にすべてのスレッド情報を報告するため、「Failed to Requested ThreadStore」が問題の鍵であると推測します。

.dmp に情報が欠落している、または DebugDiag が何らかの理由で情報を取得できないという問題ですか?

4

3 に答える 3

0

私は同じ問題に直面し、DebugDiagのサブディレクトリ「exts」からpsscor4.dllを削除するのに役立ちました

DebugDiag-Report では、私の CLR ランタイムは次のように表示されます。

CLR Information

CLR version = 4.0.30319.18052

CLR Debugger Extension = C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos.dll

PS: DebugDiag の適切なバージョン (32 ビットと 64 ビット) を使用するように注意してください。

于 2013-07-17T05:09:36.217 に答える