关于c ++:使用Visual Studio中的命令行参数进行调试

Debugging with command-line parameters in Visual Studio

我正在VisualStudio中开发C++命令行应用程序,需要用命令行参数调试它。目前,我只是用我需要的参数(比如这个program.exe -file.txt)运行生成的exe文件,但是这样我就不能调试了。是否可以指定调试参数?


是的,它在项目属性页的调试部分。

在vs-since-2008中:右键单击project,选择properties,转到Debugging部分——有一个框表示"Command Arguments"。(提示:不是solution,而是project)


Mozilla.org关于在Windows上调试Mozilla的常见问题解答在这里很有趣。

简而言之,可以从命令行在程序上调用Visual Studio调试器,允许在直接在命令行上调用命令行程序时指定命令行参数。

对于Visual Studio 8或9,如下所示

1
 devenv /debugexe 'program name' 'program arguments'

也可以使用资源管理器操作来启动Visual Studio调试器中的程序。


即使在Visual Studio之外启动了可执行文件,也可以使用"attach"命令将Visual Studio连接到已经运行的可执行文件。这可能很有用,例如,当您的应用程序作为另一个应用程序中的插件运行时。


Microsoft Visual Studio Ultima 2013。

您只需转到"调试"菜单→主属性→配置属性→调试,然后您将看到命令行参数的框。

实际上,您可以为所有不同的配置设置相同的输入参数,而不仅仅是为了调试。

从配置下拉菜单中选择:所有配置并插入输入参数(每个参数用空格分隔)。

现在,您可以在不同的模式下执行程序,而不必每次都更改输入参数。


在带有.NET核心控制台应用程序的Visual Studio 2017中,请执行以下操作:

右键单击"解决方案"窗口中的项目,选择"属性",然后调试(在左侧),在"应用程序参数"字段中输入参数。

请注意,它们应该是间隔的。


这可能会帮助一些仍然有问题的人。我使用的是Visual Studio 2015,我只能在更改argv的定义时传递参数。

而不是

1
2
int main(int argc, char **argv){
}

我不得不使用

1
2
int main(int argc, char *argv[]){
}

我不知道为什么这是必要的,但它起作用了。


右键单击vs解决方案窗口中的项目,选择"调试"(左侧),将参数输入到"命令参数"字段中:

enter image description here


在Visual Studio 2010中,右键单击项目,选择"属性",单击左窗格中的"配置属性"部分,然后单击"调试",然后在右窗格中有一个用于命令参数的框。

在其中输入命令行参数。你很高兴去。现在调试并查看结果。如果您厌倦了在属性中进行更改,那么可以临时直接在程序中提供输入。