マネージ C++ ラッパーを呼び出している C# プログラムがあり、それがアンマネージ C++ コードを呼び出しています。このコードを実行すると、スレッドがメソッドで同期を待機している期間が表示されますDoNDirectCall__PatchGetThreadCall
。スタック トレースは、次のようになります。
- Csharp.Code.MyClass in MyC#.dll
-> Managed.C++.Interface in MyManagedC++.dll
-> Managed.C++.Internal in MyManagedC++.dll
-> DoNDirectCall__PatchGetThreadCall in clr.dll
したがって、私が呼び出しているアンマネージ コードは、スレッド スタックにはまったく表示されません。DoNDirectCall__PatchGetThreadCall
意志が実際に私のアンマネージ関数で費やされた時間を表しているのか、それとも実際にスレッドが同期を待機させている何か他のことをしているのか、誰かが知っていますか?