【问题标题】:Print the callstack of debugger (method names) to the file or console in VS2010将调试器的调用栈(方法名)打印到VS2010中的文件或控制台
【发布时间】:2011-09-14 16:32:50
【问题描述】:

是否可以将调试器的路由打印到文件或控制台中?我考虑例如它实际输入的方法的名称。 换句话说,我看到的内容按 F11、F11、F11 ......我想存档。 我该怎么做?

【问题讨论】:

  • 这是 VS2010 Ultimate 版本的内置功能,称为 IntelliTrace。我猜你没有那个版本,你可能不得不使用 Debug + Windows + Call Stack 窗口。
  • @Hans Passant - IntelliTrace 是否支持 x64 项目?调用堆栈显示我当前的位置。我想在一些 txt 文件中有这个跟踪。有什么简单的方法可以做到这一点?

标签: visual-studio-2010 debugging logging


【解决方案1】:

是的,您可以将以下内容添加到您的代码中,或者在您处于中断模式时从Immediate Window 运行它:

System.IO.File.WriteAllText("myTrace.txt", new System.Diagnostics.StackTrace(true).ToString())

或者,您可以将 tracepoints 添加到您的代码中并使用 $CALLSTACK 伪变量。

更新:我是一个名为 OzCode 的 Visual Studio 扩展的共同创建者,我添加了一个 feature,这使得执行 OP 请求的操作变得更加容易。该功能本质上是“类固醇上的跟踪点”。

为此,请使用快速操作“在此处创建跟踪点”

然后,输入您希望在调用堆栈旁边显示的一些文本和/或表达式,并确保选中“保存堆栈”:

然后,每次您点击跟踪点时,都会在跟踪点查看器中添加一个新行。您可以通过单击旁边的箭头查看完整的调用堆栈:

现在,只需点击右上角的“导出”按钮即可将所有调用堆栈保存到文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 2019-07-06
    • 2015-09-15
    相关资源
    最近更新 更多