将监视的Visual Studio变量输出到文件

Uns*_*ced 11 debugging visual-studio

有没有一种方法在Visual Studio(2008,如果重要),我可以在调试/中断模式下,将变量的内容写入文本/ XML文件?

方案是我在调试中运行了一个很长的进程,我已经意识到我没有记录关于进程一直在监视的事件的足够详细信息,但幸运的是,代码中的变量中仍然存在历史记录.

我可以浏览这个列表中的数万个项目,但是一旦我在应用程序上停止了它就不会持久...这没有明显的上下文选项,但是有什么方法,比手动更好的方法?或者没有希望,我只需要点击停止,重新设置日志记录功能并再次运行它?

除了试图打破断点,修改代码并重新编写以创建更好的记录器,有没有办法不丢失内存中的数据?

Jam*_*kle 20

一种方法是使用立即窗口(菜单Debug - > Windows - > Immediate).在出现的窗口中,您可以使用"?" 查询变量的值.

假设您的历史记录变量是一个字符串,您可以通过在即时窗口中键入以下内容来查看其内容:

?history
Run Code Online (Sandbox Code Playgroud)

您可以将输出从那里复制并粘贴到文本文件中,或者要求Visual Studio记录所有命令窗口输出.要这样做:

>log "c:\test.log"
?history
>log off
Run Code Online (Sandbox Code Playgroud)

Log是别名,Tools.LogCommandWindowOutput并接受以下参数:

Tools.LogCommandWindowOutput [filename] [/on|/off] [/overwrite]
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看MSDN文章Log Command Window Output Command.