【问题标题】:How can I set a stack trace with Windbg?如何使用 Windbg 设置堆栈跟踪?
【发布时间】:2014-03-03 17:10:30
【问题描述】:

我有 Visual Studio 2010 Express,但我的程序运行不佳。 我想用 Windbg 做一个堆栈跟踪,但我不知道我必须做的步骤。 谢谢你。 问候, 弗兰

【问题讨论】:

  • 为什么不用 Visual Studio 中的调试器?
  • 因为:当我调试程序(在 Visual Studio 中)时,一切正常,但是当我发布程序并启动可执行文件时,它不起作用(它说“Application1 已停止工作”)
  • 如果您要使用 WinDbg,您需要告诉我们这是托管应用还是原生应用。
  • 托管应用和原生应用有什么区别?对不起,我是编程初学者
  • 这是一个用 Visual Studio 2010 Express 制作的程序(Windows 形式)。我认为这是一个 .NET 应用程序。谢谢

标签: windbg


【解决方案1】:

要在 WinDbg 中获得 native 堆栈跟踪,请发出 k 命令。 要在 WinDbg 中获取 托管 堆栈跟踪,请发出 !clrstack 命令,但首先需要加载正确的托管运行时二进制文件和调试器扩展,为此,请以快捷方式运行以下命令: !analyze –v(有关它在做什么的详细信息,请参阅article)。

另外请注意,每个处理器架构都有不同版本的 WinDbg。如果您编译的 EXE 适用于 x86,请使用 x86 版本的 WinDbg,同样适用于 x64 版本。

参考文献

【讨论】:

  • 谢谢,但是...我必须在哪里写命令?什么是托管运行时二进制文件?对不起,但我是一个初学者
  • @Frankcoding,在底部有一个可以输入的文本框。Tutorials
  • 非常感谢您的帮助。问候
  • @Frankcoding:在有一个文本框可以输入命令之前,您需要附加到一个进程。试试 [F6]。
猜你喜欢
  • 2010-10-09
  • 1970-01-01
  • 2011-04-23
  • 1970-01-01
  • 2021-02-07
  • 1970-01-01
  • 2012-03-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多