【问题标题】:Hold command prompt window in Visual Studio, when using Command Line Arguments使用命令行参数时,在 Visual Studio 中保持命令提示符窗口
【发布时间】:2012-03-26 07:55:37
【问题描述】:

我需要使用存储在文件中的示例输入数据来测试我的控制台应用程序。我希望在 Visual Studio 中启动我的应用程序时执行此文件。在正常情况下,在命令提示符中我写: program.exe Properties->Debug->Command Line Arguments 当我按 F5 时,我可以看到程序给了我结果,但是命令窗口立即关闭。我怎样才能抓住这个窗口?我尝试了 Ctrl+F5,但它没有加载我的 input.txt 文件。此外,应用程序将被发送到另一个测试系统,所以我不应该在文件末尾写任何 Console.Read() (ReadLine, Readkey...) 方法,因为我认为这会搞砸。我需要针对 Visual Studio 2010(2008、2005)和语言:C/C++、C#(如果可能)的这个问题的答案。

【问题讨论】:

  • 我刚刚尝试了一个控制台应用程序并将参数放在项目属性的“开始选项”中。当我按 Ctrl+F5 开始时,我得到了传递的参数。使用 VS2010 是参数没有通过,还是起始文件夹不在你期望的位置?

标签: visual-studio debugging cmd command-line-arguments command-prompt


【解决方案1】:

如果您无法解决,只需快速破解

if (System.Diagnostics.Debugger.IsAttached)
{
    Console.WriteLine("Press [ENTER] to finish");
    Console.Read();
}

【讨论】:

  • 不,这不起作用(VS 2010 Ultimate)。当我按 F5 时,参数被传递并且消息:“按 [ENTER] 完成”可见,但窗口仍会立即关闭。当我按 Ctrl+F5 时,没有传递参数。我的文件在“调试”目录中。
  • 所以使用Ctrl+F5时Main的args参数是一个空数组?您能否在 Main 函数中提供 Console.WriteLine(string.Join(",", args)) 的输出。您还可以使用调试器中的 Break 方法强制附加调试窗口并手动检查 args 参数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-11
  • 1970-01-01
  • 2013-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多