問題タブ [sos]

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 に答える
258 参照

windbg - GCとGCSuspendedEE

!threads -specialコマンドを実行すると、次のようになります。簡潔にするために削除した他の行も出力にあります。

15 26ec GC SuspendEE
15 3174 GC

GCとGCSuspendedEEの違いは何ですか

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

c# - 静的オブジェクトは固定されており、GC によって再割り当てできませんか?

クラスに静的変数があります。windbg/sos を介してこのオブジェクトを見ると、このオブジェクトが固定されていると表示されます。これは、GC がこのオブジェクトを他の場所に割り当てることができないことを意味すると思います。静的変数が固定されたものとして扱われる理由はありますか?

これが私のクラスでのこの変数の宣言です

これが出力フォームのwindbgです

!gcroot の出力で、これが HANDLE(PINNED) と表示されていることを確認してください。この出力を読み間違えていますか?

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

c# - このアプリケーションがハングする原因は何ですか(ネイティブ側である可能性があります)

ネイティブdllと相互運用する.net管理対象アプリケーションがあります。問題は、アプリケーションがハングして応答しない場合があることです。管理対象側を見ると、待機またはスリープを実行しているスレッドのコールスタックはありません。SOSの!threadsと!syncblkもロックを表示しません。何がブロックされているかなどを把握するために、ネイティブ側を調べる必要があるアイデアはありますか?

0 投票する
4 に答える
4771 参照

windbg - プロセス ダンプが x64 または x86 マシンで生成されたかどうかを確認する

プロセス ダンプ ファイルがある場合、ダンプが x64 マシンで生成されたのか x86 マシンで生成されたのかを知る方法はありますか?

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

.net - WinDbgを使用して.NETダンプを分析する

windbgを使用してダンプの分析を実行しています。以下は私が実行したコマンドです

  1. .loadby sos mscorwks-sosdllをロードします
  2. ~* e !clrstack-すべてのスレッドを確認する
  3. ~18s-コンテキストを分析したいスレッドに変更しました
  4. !clrstack-このスレッドの呼び出しスタックを確認します。

ここで、スタック内の各フレームに移動して、そこにあるオブジェクト/変数の値を確認します。どうすればいいですか?

メソッドのどの行番号でスレッドが実際にスタックしているかを確認する方法はありますか?

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

c# - このメソッドで WaitForMultipleObjectsEx への呼び出しが表示されるのはなぜですか?

時々ハング状態になる .NET Windows フォーム アプリケーションがあります。プロセスのダンプを取り、WinDbg/SOS 経由で開くとkernel32!WaitForMultipleObjectsEx、その特定のメソッドのイベント オブジェクトで WaitXXX API を呼び出していないにもかかわらず、1 つのスレッドに呼び出しがあることが示されます。これは、InvokedRequired API と IsDisposed API のチェックを行っていると言われています。InvokedRequired または IsDisposed API のいずれかの呼び出しで、WaitXXX API が内部的に呼び出されますか?

スレッドのコールスタックは次のとおりです。

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

c# - 特定のオブジェクトを使用しているスレッドは?

  1. dumpheap -type MyObjectTypeのメソッド テーブルを取得するコマンドを実行しますMyObjectType。ヒープ上に 3 つのオブジェクトが表示されます。
  2. アドレスを取得するために実行dumpheap -mt <method table address>します。
  3. !gcroot <address>これらのオブジェクトへの参照を見つけるコマンドを実行しましたが、何も見つかりませんでした
  4. !do <address>このオブジェクトのフィールドなどの詳細を提供します。

オブジェクトを参照または使用しているスレッドを見つけるにはどうすればよいですか? それを見つけるためのコマンドはありますか?

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

.net - mscorwks!ThreadpoolMgr::FireTimers からのアクセス違反の原因は何ですか?

次のアクセス違反により、数日おきにアプリケーションがクラッシュします。何が原因でしょうか?

ここにスタックトレースがあります

ここに私のバージョン情報があります

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

.net - コール スタック内の InlinedCallFrame

マネージ コール スタックでは、メソッド呼び出しに関係なく、InlinedCallFrame が発生することがあります。これは正確にはどういう意味ですか?