繁体   English   中英

在Visual Studio 2008中调试时如何管道输出?

[英]How do I pipe output when debugging in Visual Studio 2008?

我尝试了项目属性,在配置属性下选择调试,并将命令参数设置为“> out.txt”(当然没有引号)。 但是,当我运行程序(使用F5)时,我仍然在控制台上看到输出,并且没有创建out.txt文件。 这只是一个简单的C ++ Hello World程序。 这些步骤适用于我的朋友但不适合我(他也使用VS2008)。 我听说过禁用托管过程,但似乎只适用于Visual Studio 2005。

似乎“> out.txt”作为参数传递。 argc为3,argv [1]为“>”,argv [2]为“out.txt”。 这不应该发生吗? 我该怎么办才能修复它?

根据Microsoft Connect网站上的此错误报告 ,此问题已在Visual Studio 2008 Service Pack 1中得到修复。我在我的系统上运行VS2008 SP1,输出重定向对我来说正常。 你可以在这里下载SP1。

我有与你相同的结果:重定向在2008年对我来说也不起作用,但在2005年有效。正如@ChrisN所提到的,这是VS 2008的一个错误,它在VS 2008 SP1中得到修复。

要修复,您可以安装VS2008 SP1或使用此工作。

以下是解决方法:

  • 通过freopen重定向代码中的输出, 此链接解释了如何
  • 将此代码包装在#ifdef REDIRECT_OUTPUT_TO_FILE和#endif中
  • 转到C / C ++选项卡,然后转到预处理器选项卡,并设置REDIRECT_OUTPUT_TO_FILE

在vs 2005中对我来说非常适合。也许检查main()中的参数,看看是否将“> out.txt”作为参数传入,而不是在cmd.exe级别进行评估

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM