我正在Visual Studio中开发一个c++命令行应用程序,需要用命令行参数调试它。目前,我只是运行生成的EXE文件与我需要的参数(像这个program.exe -file.txt),但这样我不能调试。我是否可以在某个地方指定调试参数?
当前回答
在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之外启动可执行文件,你仍然可以使用“附加”命令将Visual Studio连接到你已经运行的可执行文件。这可能很有用,例如当您的应用程序作为插件在另一个应用程序中运行时。
这可能会帮助一些仍然有问题的人。 我使用Visual Studio 2015,当我改变argv的定义时,我只能传递参数。
而不是
int main(int argc, char **argv){
}
我必须使用
int main(int argc, char *argv[]){
}
我不知道为什么这是必要的,但它确实有效。
对于那些使用VS2022并且你没有launchSchema的人。正如上面有人提到的,有一个使用launchSettings.json插入参数的解决方案。
输入文件并使用"commandLineArgs": "argument here"插入参数,
这对我很管用。
在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文件,然后单击“调试”
在VS 2015及以上版本中,使用智能命令行参数扩展。这个插件添加了一个窗口,允许你打开和关闭参数:
扩展还将参数存储在JSON文件中,允许您将它们提交给源代码控制。除了确保您不必每次都输入所有参数外,这还可以作为文档的有用补充,供其他开发人员发现可用选项。
推荐文章
- 如何在。net中创建和使用资源
- 为什么这个结合赋值和相等检查的if语句返回true?
- cplusplus.com给出的错误、误解或坏建议是什么?
- 找出质数最快的算法是什么?
- 如何在没有任何错误或警告的情况下找到构建失败的原因
- Visual Studio弹出提示:“操作无法完成”
- 我如何调试git/git-shell相关的问题?
- 为什么我在我的Excel插件中得到“无法在证书存储中找到清单签名证书”?
- 如何使用文件的行作为命令的参数?
- c++枚举类可以有方法吗?
- Visual Studio拒绝忘记断点?
- 格式化IO函数(*printf / *scanf)中的转换说明符%i和%d之间的区别是什么?
- 将析构函数设为私有有什么用?
- main()中的Return语句vs exit()
- 为什么c#不提供c++风格的'friend'关键字?