在vscode下的cmake项目里传参调试c++命令行程序

环境:Linux(Ubuntu)+Vscode+cmake

1、在vscode扩展里下载CMake Tools工具

2、确保项目为CMake项目

CMakeLists.txt 文件里确保为 Debug 编译:

cmake 复制代码
SET(CMAKE_BUILD_TYPE "DEBUG") # 设置编译类型为Debug
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb") # 添加调试标志

3、开始编译传参调试

3、1编译

Ctrl+Shift+P 打开vsode命令窗口选择:CMake:Configure 会自动生成 build文件夹 完成cmake操作

上图是已经生成过的

应该显示:Build files have been written to:

3、2 生成

点击下方的 生成 完成make操作

在build文件夹会生成目标可执行程序

3.3、配置settings.json文件

按下 Ctrl+Shift+P,输入 "Open Settings (JSON)"

此处我显示的是: Preferences :Open Default Settings(JSON) 选择该选项

会生成一个.vscode文件夹里面有 settings.json 文件

参数通过args传入:假如程序是这样执行:./exe -e /path/infile.txt -o /path/output.bin 则需这样传入

json 复制代码
{
    "cmake.debugConfig": {
        "args": ["-e","path/infile.txt" ,
                 "-o","/path/output.bin"],
    }
}

/path/是你的文件路径

3.4、添加断点

在源代码文件里,数字行号前的小红点就是断点

3.5、调试

点击下方的小虫子图标,开始调试

注意

确保项目所需要的依赖已被安装完成

外链图片转存中...(img-nrunKaG4-1759730922780)

注意

确保项目所需要的依赖已被安装完成

相关推荐
Scott9999HH10 小时前
告别流量波动玄学!从法拉第电磁定律到底层 C/C++ 流量累积算法,深度解密工业级电磁流量计选型与开发
c语言·c++·算法
脱胎换骨-军哥10 小时前
C++/Rust无缝互操作:混合系统新常态
开发语言·c++·rust
爱吃提升12 小时前
VSCode 配置 Claude + Codex 完整教程
ide·vscode·编辑器
胖大和尚13 小时前
C++ 多线程编程的实现方式
c++·thread
在水一缸14 小时前
深入浅出 Catch2:现代 C++ 测试框架的优雅实践
开发语言·c++·单元测试·log4j·测试框架·catch2
2401_8414956414 小时前
【数据结构】B*树
数据结构·c++·b树·算法·删除·插入·三分分裂
斐夷所非15 小时前
在纷繁竞逐中稳步前行:C++ 2006–2020
c++
保持清醒54016 小时前
类和对象上
c++
乱七八糟的屋子16 小时前
Poco C++高级实战教程:线程池+日志系统+加密算法+WebSocket长连接
c++·websocket·加密解密·#poco·#c++高级开发
hold?fish:palm16 小时前
7 接雨水
开发语言·c++·leetcode