我试图通过WinDbg打印CLR对象/类,但失败了。调试CLR对象时出现错误“Symbol clr!XXX not found” class
首先,我试着运行x clr!Thread*
来获得一些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!<classname>
或dt clr!<classname> <objectaddress>
,但他们没有工作,错误的是
符号CLR!为XXXXX没有找到。
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.
BTW,我发现,但是没有办法,直到现在。
但是有些人可以运行dt
命令successfully for the CLR class\object with old version CLR。
我确定正确加载CLR的PDB。 请帮助检查您是否有相同的问题,如果不是,请告知如何解决该问题。
提交了错误的请求给微软,并等待他们的审查结果。 https://connect.microsoft.com/VisualStudio/feedback/details/3136349 –