我正在Visual Studio中开发一个c++命令行应用程序,需要用命令行参数调试它。目前,我只是运行生成的EXE文件与我需要的参数(像这个program.exe -file.txt),但这样我不能调试。我是否可以在某个地方指定调试参数?
program.exe -file.txt
是的,它在项目属性页的调试部分。
在2008年以来的visual Studio中:右键单击项目,选择属性,转到调试部分——有一个“命令参数”框。(提示:不是解决方案,而是项目)。
即使你在Visual Studio之外启动可执行文件,你仍然可以使用“附加”命令将Visual Studio连接到你已经运行的可执行文件。这可能很有用,例如当您的应用程序作为插件在另一个应用程序中运行时。
这里的关于在Windows上调试Mozilla的常见问题解答很有趣。
简而言之,Visual Studio调试器可以从命令行在程序上调用,允许在调用命令行程序时直接在命令行上指定命令行参数。
Visual Studio 8或Visual Studio 9(分别是Visual studio2005或Visual studio2008)的代码如下所示。
devenv /debugexe 'program name' 'program arguments'
也可以使用探险家行动在Visual Studio调试器中启动程序。
在Visual Studio 2010中,右键单击项目,选择属性,单击左侧窗格中的配置属性部分,然后单击调试,然后在右侧窗格中有一个命令参数框。
在其中输入命令行参数。你可以出发了。现在调试并查看结果。如果你厌倦了改变属性,那么暂时直接在程序中输入。
微软Visual Studio Ultima 2013。
你可以去DEBUG菜单→主要特性→配置属性→调试,然后你会看到命令行参数的方框。
实际上,您可以为所有不同的配置设置相同的输入参数,而不仅仅是用于调试。
从配置的下拉菜单中选择:All Configurations并插入输入参数(每个参数用空格分隔)。
现在,您可以以不同的模式执行程序,而不必每次都更改输入参数。
在visual Studio的解决方案窗口中右键单击项目,选择“调试”(在左侧),并在字段“命令参数”中输入参数:
在Visual Studio 2017中使用net核心控制台应用程序执行以下操作:
右键单击解决方案窗口中的项目,选择“属性”,调试(在左侧),并在字段“应用程序参数”中输入参数。
注意,它们应该用空格分隔。
argv
而不是
int main(int argc, char **argv){ }
我必须使用
int main(int argc, char *argv[]){ }
我不知道为什么这是必要的,但它确实有效。
使用vs2015及以上版本,使用智能命令行参数扩展。这个插件添加了一个窗口,允许你打开和关闭参数:
扩展还将参数存储在JSON文件中,允许您将它们提交给源代码控制。除了确保您不必每次都输入所有参数外,这还可以作为文档的有用补充,供其他开发人员发现可用选项。
我发现一些旧的命令行参数存储在启动项目的源文件夹下的MyStartUpProject.csproj.user文件中。删除这个文件没有工作,Visual Studio为我带回了它。我必须编辑文件中的参数。
MyStartUpProject.csproj.user
文件中的值在VS、项目属性、调试中没有显示。在那里输入值将它们附加到神秘的MyStartUpProject.csproj.user文件中的值。
右键单击。exe文件,单击“设置为启动项”;
再次右键单击。exe文件,单击“添加调试配置”;或“打开调试和启动设置”;如果配置文件已经创建。
添加arg游戏到launch.vs.json,例如:
{ "version": "0.2.1", "defaults": {}, "configurations": [ { "type": "default", "project": "ffprobe.exe", "projectTarget": "", "name": "ffprobe.exe", "args": [ "C:\\Temp\\test-file" ] } ] }
对于那些使用VS2022并且你没有launchSchema的人。正如上面有人提到的,有一个解决方案可以使用launchSettings.json插入args。
launchSettings.json
args
进入文件,并插入你的参数使用"commandLineArgs": "argument这里",
"commandLineArgs": "
",
这对我很管用。
在Visual Studio 2022中,指定“命令行参数”的选项;已移动到&;Launch Profiles ui &;(截图)。
您可以从右键单击项目>性能比;调试比;打开调试启动配置文件UI">命令行参数
请注意,该功能目前正在收到来自用户的负面反馈。参考下图: