2

我有一个 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是否真的代表了我的非托管函数所花费的时间,或者它实际上是否在做其他导致线程等待同步的事情?

4

0 回答 0