在Visual Studio 2008中,我可以指定在遇到断点时要打印的消息(通过右键单击断点并选择“When Hit ...”)。运行程序时,这些消息将显示在“输出”窗口中。我想知道,有没有办法将它们重定向到文件?
将>file.txt
指定为程序的命令参数不起作用:这会重定向程序的输出,而不是调试器的输出。
(FWIW我希望实现的行为是让调试器重复将变量的值打印到文件中,而不是用printf / cout语句来编写代码。)
答案 0 :(得分:16)
将选项将所有输出窗口文本重定向到立即窗口。我们在工具→选项→调试→常规(第五项到最后一项)中找到它。
打开立即窗口: Ctrl + Alt + I 或调试→ Windows →立即窗口
在立即窗口中输入如下命令:
> Tools.LogCommandWindowOutput /on C:\mylogfile.txt
要停止写入文件,请在立即窗口中输入以下命令:
> Tools.LogCommandWindowOutput /off
答案 1 :(得分:4)
在Windows 2000下,XP,Server 2003和Vista DebugView将捕获:
DebugView允许您过滤输出,添加时间戳并记录到文件。
问题是,您需要在不附加到调试器的情况下运行,以便DbgView捕获输出。 (使用Ctrl + F5)
答案 2 :(得分:0)
我不知道如何将输出窗口内容写入文件而不是编写VS插件,但是您可以在输出窗口中突出显示文本并将其复制到剪贴板,然后将其粘贴到文本中文件。