我正在Visual Studio中开发一个c++命令行应用程序,需要用命令行参数调试它。目前,我只是运行生成的EXE文件与我需要的参数(像这个program.exe -file.txt),但这样我不能调试。我是否可以在某个地方指定调试参数?


当前回答

微软Visual Studio Ultima 2013。

你可以去DEBUG菜单→主属性→配置属性→调试,然后你会看到命令行参数的框。

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

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

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

其他回答

我发现一些旧的命令行参数存储在我的启动项目的源文件夹下的mystartupproject . csproject .user文件中。删除这个文件没有工作,Visual Studio为我带回了它。我必须编辑文件中的参数。

文件中的值在VS、项目属性、调试中没有显示。在那里输入值将它们附加到神秘的mystartupproject . csprojj .user文件中的值。

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

在其中输入命令行参数。你可以出发了。现在调试并查看结果。如果你厌倦了改变属性,那么暂时直接在程序中输入。

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

而不是

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

我必须使用

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

我不知道为什么这是必要的,但它确实有效。

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

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

对于Visual Studio 8或Visual Studio 9(分别是Visual Studio 2005或Visual Studio 2008),这看起来如下所示

  devenv /debugexe 'program name' 'program arguments'

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

在VS 2022中,可以调试任何可执行文件。 打开包含。exe文件的文件夹

右键单击.exe文件,然后单击“设置为启动项” 再次右键单击.exe文件,然后单击“添加调试配置”或“打开调试和启动设置”(如果配置文件已经创建)。 在launch.vs中添加参数。json。

{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
      "type": "default",
      "project": "ffprobe.exe",
      "projectTarget": "",
      "name": "ffprobe.exe",
      "args": [ "C:\\Temp\\test-file" ]
    }
  ]
}

右键单击.exe文件,然后单击“调试”