我正在Visual Studio中开发一个c++命令行应用程序,需要用命令行参数调试它。目前,我只是运行生成的EXE文件与我需要的参数(像这个program.exe -file.txt),但这样我不能调试。我是否可以在某个地方指定调试参数?
当前回答
微软Visual Studio Ultima 2013。
你可以去DEBUG菜单→主属性→配置属性→调试,然后你会看到命令行参数的框。
实际上,您可以为所有不同的配置设置相同的输入参数,而不仅仅是用于调试。
从配置的下拉菜单中选择:All Configurations并插入输入参数(每个参数用空格分隔)。
现在,您可以以不同的模式执行程序,而不必每次都更改输入参数。
其他回答
在VS 2015及以上版本中,使用智能命令行参数扩展。这个插件添加了一个窗口,允许你打开和关闭参数:
扩展还将参数存储在JSON文件中,允许您将它们提交给源代码控制。除了确保您不必每次都输入所有参数外,这还可以作为文档的有用补充,供其他开发人员发现可用选项。
在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文件,然后单击“调试”
这可能会帮助一些仍然有问题的人。 我使用Visual Studio 2015,当我改变argv的定义时,我只能传递参数。
而不是
int main(int argc, char **argv){
}
我必须使用
int main(int argc, char *argv[]){
}
我不知道为什么这是必要的,但它确实有效。
我发现一些旧的命令行参数存储在我的启动项目的源文件夹下的mystartupproject . csproject .user文件中。删除这个文件没有工作,Visual Studio为我带回了它。我必须编辑文件中的参数。
文件中的值在VS、项目属性、调试中没有显示。在那里输入值将它们附加到神秘的mystartupproject . csprojj .user文件中的值。
在Visual Studio 2022中,指定“命令行参数”的选项已移动到“启动配置文件UI”(截图如下)。
您可以从右键单击项目>属性>调试>“打开调试启动配置文件UI”>命令行参数
请注意,该功能目前正在收到来自用户的负面反馈。参考下图:
调试启动配置文件UI需要太多的点击才能到达 启动配置文件UI设置环境变量不可用
推荐文章
- Uint8_t不能用cout打印
- c++中不必要的花括号
- 如何反转一个c++向量?
- 当有命令行参数时,如何使用GDB分析程序的核心转储文件?
- 如何开始开发Internet Explorer扩展?
- Std::auto_ptr改为Std::unique_ptr
- int的最大值
- c++中有最大数组长度限制吗?
- 使iTerm以与其他操作系统相同的方式翻译“元键”
- Nuget连接尝试失败“无法为源加载服务索引”
- 什么是“参数依赖查找”(又名ADL,或“Koenig查找”)?
- 公共朋友交换成员函数
- 在Visual Studio中查看多个项目/解决方案
- 如何在Go中使用c++
- 自定义c++分配器的引人注目的例子?