VScode调试C++工程
本文主要参考:
https://zhuanlan.zhihu.com/p/385276301
=================================================
在VScode中如果要进行C/C++编译需要安装插件:
编写C语言代码: mainX.c
#includevoid main() { int a=0; a++; a+=2; a-=3; printf("a=%d\n",a); return; }
按F5键,自动生成文件 .vscode/launch.json 和 .vscode/tasks.json :
使mainX.c 为活动页面,再次按F5键,执行编译及运行:
===============================================
其中,自动生成的 .vscode/launch.json 文件内容:
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "gcc-7 - 生成和调试活动文件", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "C/C++: gcc-7 生成活动文件", "miDebuggerPath": "/usr/bin/gdb" } ] }
自动生成的 .vscode/tasks.json 文件内容:
{ "tasks": [ { "type": "cppbuild", "label": "C/C++: gcc-7 生成活动文件", "command": "/usr/bin/gcc-7", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "调试器生成的任务。" } ], "version": "2.0.0" }
==============================================
由于上面的编译方式为vscode插件自动生成的,因此不是很适用于需求较高的项目编译及优化,自动的编译对优化编译和自定义的编译方式不是很好支持的。
自定义的编译自然还是推荐使用Makefile的。