2015-07-09 102 views
0

我正试图在64位Windows 8.1 Pro上调试托管的Win32应用程序。我加载了SOS .cordll -ve -u -l.loadby SOS clr,并将符号路径设置为Microsoft的公共服务器。如何从托管代码获取本机调用堆栈?

我可以得到CLR调用堆栈,但是当我试图让管理调用堆栈(K 10),我得到的只是以下。想知道我错过了什么。

00f8c23c 6c11777c PresentationCore_ni+0x1b76f0 
00f8c2a8 6c114c57 PresentationCore_ni+0x1b777c 
00f8c32c 6c1148af PresentationCore_ni+0x1b4c57 
00f8c384 6c113926 PresentationCore_ni+0x1b48af 
00f8c41c 6c1132e7 PresentationCore_ni+0x1b3926 
00f8c440 6c11324f PresentationCore_ni+0x1b32e7 
00f8c464 6b0b65da PresentationCore_ni+0x1b324f 
00f8c4a0 6b0b6426 PresentationFramework_ni+0x3465da 
00f8c52c 6b0b5ec6 PresentationFramework_ni+0x346426 
00f8c57c 6b049bfc PresentationFramework_ni+0x345ec6 
00f8c778 6c10e0ec PresentationFramework_ni+0x2d9bfc 
00f8c7f4 6b054f45 PresentationCore_ni+0x1ae0ec 
00f8c814 6b05a211 PresentationFramework_ni+0x2e4f45 
00f8c870 6b049bfc PresentationFramework_ni+0x2ea211 
00f8ca6c 6c10e0ec PresentationFramework_ni+0x2d9bfc 
+1

SOS附带帮助文件。做'!sos.help'开始吧。 –

回答

3

看来你混合了原生调用堆栈和托管(CLR)调用堆栈。

  • k给你本地调用堆栈。
  • !clrstack(SOS)为您提供托管调用堆栈。
  • !dumpstack(SOS)给你俩。
  • !mkSOSEX也给你们两个,但以更好的方式。
+0

我正在使用windbg 6.切换到最新的windbg 10后,我得到了调用堆栈。它仍处于预览状态。 谢谢托马斯。 SOS命令帮助获得了托管调用堆栈。 http://blogs.technet.com/b/yongrhee/archive/2015/04/05/debugging-tools-for-windows-windbg-adplus-v10-0-10041-3.aspx – RedFox

+0

哪个WinDbg的6?几乎每个版本都是6:请参阅http://debugging.wellisolutions.de/windbg-versions/ –

+0

我从https://msdn.microsoft.com/en-us/windows/hardware/hh852365下载了windows 8.1的windbg 6。 ASPX – RedFox

相关问题