Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net “得到了错误”;符号clr!“未找到XXX”;调试CLR对象\类时_.net_Debugging_Clr_Windbg - Fatal编程技术网

.net “得到了错误”;符号clr!“未找到XXX”;调试CLR对象\类时

.net “得到了错误”;符号clr!“未找到XXX”;调试CLR对象\类时,.net,debugging,clr,windbg,.net,Debugging,Clr,Windbg,我试图用WinDbg打印CLR对象/类,但失败了 首先,我试着运行xclr!线程*获取一些CLR类名,输出如下 00007ffd`68957f18 clr!ThreadStore::s_pOSContext = <no type information> 00007ffd`685b0bf0 clr!ThreadNative::SetApartmentState (<no parameter info>) 00007ffd`685b12c0 clr!ThreadNative

我试图用WinDbg打印CLR对象/类,但失败了

首先,我试着运行
xclr!线程*
获取一些CLR类名,输出如下

00007ffd`68957f18 clr!ThreadStore::s_pOSContext = <no type information>
00007ffd`685b0bf0 clr!ThreadNative::SetApartmentState (<no parameter info>)
00007ffd`685b12c0 clr!ThreadNative::YieldThread (<no parameter info>)
00007ffd`6806be60 clr!Thread::ResetManagedThreadObjectInCoopMode (<no parameter info>)
00007ffd`6895e928 clr!ThreadpoolMgr::LastCPThreadCreation = <no type information>
00007ffd`68627800 clr!ThreadPoolNative::CorUnregisterWait (<no parameter info>)
00007ffd`685b1320 clr!ThreadExceptionState::GetCurrentEHClauseInfo (<no parameter info>)
00007ffd`681285c4 clr!ThreadpoolMgr::ChangeTimerQueueTimer (<no parameter info>)
00007ffd`684c69f0 clr!Thread::BaseWinRTUninitialize (<no parameter info>)
00007ffd`680eea20 clr!ThreadpoolMgr::ShouldGateThreadKeepRunning (<no parameter info>)
00007ffd`684c8ca0 clr!Thread::IsWithinCer (<no parameter info>)
00007ffd`6859a0c0 clr!ThreadpoolMgr::DeleteWait (<no parameter info>)
顺便说一句,我发现,然而,直到现在还没有解决办法

但是,有些人可以运行
dt
命令

我确信CLR的PDB已正确加载。
请帮助检查您是否有相同的问题,如果没有,请建议如何解决该问题。

您可能有clr.dll的公共符号-这些是Microsoft通常为clr.dll和许多其他产品分发的符号。通过设计,公共符号中的信息较少,因此预期dt会失败

在你上面提到的链接中,这个人似乎可以访问这些私人符号,但我不知道他们是如何获得它们的。如果您的目标是了解运行时如何在内部工作,那么CoreCLR是开源的(),许多内部构件与clr.dll非常相似。如果您的目标是调试某个特定的运行时问题,则可以尝试使用SOS中可用的命令,或使用Visual Studio debugger,或创建另一个SO post来描述您试图解决的问题,以便社区可以提供其他建议

希望这有帮助


-Noah Falk(Microsoft.Net团队)

您可能有clr.dll的公共符号-这些是Microsoft通常为clr.dll和许多其他产品分发的符号。通过设计,公共符号中的信息较少,因此预期dt会失败

在你上面提到的链接中,这个人似乎可以访问这些私人符号,但我不知道他们是如何获得它们的。如果您的目标是了解运行时如何在内部工作,那么CoreCLR是开源的(),许多内部构件与clr.dll非常相似。如果您的目标是调试某个特定的运行时问题,则可以尝试使用SOS中可用的命令,或使用Visual Studio debugger,或创建另一个SO post来描述您试图解决的问题,以便社区可以提供其他建议

希望这有帮助


-Noah Falk(微软.Net团队)

向微软提交了一个bug请求,并等待他们的审查结果。已向Microsoft提交错误请求,并等待他们的审查结果。
0:000> dt clr!ThreadNative
Symbol clr!ThreadNative not found.
0:000> dt clr!Thread
Symbol clr!Thread not found.
0:000> dt clr!ThreadpoolMgr
Symbol clr!ThreadpoolMgr not found.