如何调试C#命令行程序

Kdg*_*Dev 20 c# debugging command-line

我正在尝试使用VS2010在C#中构建命令行工具.

我的问题是:我如何调试这个,就像我会winforms一样.
使用winforms,我可以单步执行代码,查看每个步骤的值等等...

但是,程序只在我从命令行与它通信时才响应.我无法启动调试会话,因为这将首先完全启动该程序.由于程序的性质,它将自行关闭,因为没有命令行参数.

因此不会发生调试.

我需要做什么?

编辑:一个例子,因为有人发表评论让我觉得需要这样的解释.

C:\ Path\To\File\file.exe -help

这是该计划如何得到解决的一个例子.命令-help在程序启动的同一行中给出.换句话说,我不能先启动程序,然后在它运行时给它一个命令......因为它不会再运行了.它会启动,看它在启动时没有参数,因此,关闭.这就是命令行工具的工作原理.

  1. 启用
  2. 处理可能的论点
  3. 输出结果
  4. 自动关机

在点击右上角的小x之前,它不会一直运行.

dav*_*soa 46

在Project属性中,在Debug下,您可以输入您想要的任何命令行参数,然后使用F5运行应用程序,调试器将自动附加.

  • 如果你已经*调试过,它们会变灰.如果您下拉调试菜单,是否启用了"停止调试"?如果是这样,选择它,然后您就可以正常设置命令行参数. (5认同)

Joe*_*ite 8

您可以向Debugger.Launch添加对启动代码的调用.然后,您可以编译,并从命令行启动您的应用程序.您将收到一个提示,询问您要附加哪个调试器(通常这将是您已安装的Visual Studio的不同版本的列表),然后就可以了.

(但实际上,在项目属性>调试选项卡中设置命令行参数是大多数时间更好的方法.如果这对您不起作用,您应该找出原因.)