在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)

注意

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

相关推荐
房开民5 小时前
OpenCV C++ 中,访问图像像素三种常用方法
c++·opencv·计算机视觉
报错小能手5 小时前
C++笔记(面向对象)深赋值 浅赋值
c++·笔记·学习
农场主John5 小时前
vscode断点使用
ide·vscode·编辑器
Caesar Zou6 小时前
解决 Codex 在 WSL/SSH/VSCODE 登录时报 “Token exchange failed: 403 Forbidden” 问题
ide·vscode·编辑器
Maple_land6 小时前
编译器的“隐形约定”与本地变量:解锁Linux变量体系的关键密码
linux·运维·服务器·c++·centos
OC溥哥9996 小时前
C++2D地铁跑酷代码
开发语言·c++
紫荆鱼7 小时前
设计模式-状态模式(State)
c++·后端·设计模式·状态模式
深思慎考7 小时前
微服务即时通讯系统(服务端)——Speech 语音模块开发(2)
linux·c++·微服务·云原生·架构·语音识别·聊天室项目
沐怡旸8 小时前
【穿越Effective C++】条款7:为多态基类声明virtual析构函数——C++多态资源管理的基石
c++·面试
Algo-hx8 小时前
C++编程基础(五):字符数组和字符串
开发语言·c++