有一个.vscode文件,存放当前工作区相关配置文件的目录。
launch.json
{"version": "0.2.0","configurations": [{"name": "gcc.exe - 生成和调试活动文件", // 该调试任务的名字,启动调试时会在待选列表中显示"type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false, // 这一项控制是否在入口处暂停,默认false不暂停,改为true暂停"cwd": "${workspaceFolder}","environment": [],"externalConsole": false, // 这一项控制是否启动外部控制台(独立的黑框)运行程序,默认false表示在集成终端中运行"MIMode": "gdb","miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe", // 调试器路径,必须与你自己的电脑相符"setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "C/C++: gcc.exe build active file" // 调试前的预执行任务,这里的值是tasks.json文件中对应的编译任务,也就是调试前需要先编译}]
}
tasks.json
{"tasks": [{"type": "shell","label": "C/C++: gcc.exe build active file", // 编译任务的名称,跟上面preLaunchTask的值对应"command": "D:/mingw64/bin/g++.exe", // 编译器的路径,须跟你自己的电脑相符"args": [ // 编译器执行时的参数,跟手动编译时输入的内容基本一致,主要是多了-g参数,以加入调试信息"-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "D:/mingw64/bin"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true}}],"version": "2.0.0"
}
编译文件
在cmakelists.txt文件中需要设置编译选项:
set(CMAKE_CXX_FLAGS "${CAMKE_CXX_FLAGS} -std=c++11 -pthread -g")
然后编译文件,按这个按钮,选择要调试的可执行的文件,然后就可以对项目进行调试了。