本文主要是介绍vscode + Linux 如何在编辑器调试webserver这类完整C++项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 问题背景
网上搜的一堆文章都是教如何调试单个文件,或者一个文件夹下含了所有cc和头文件,但很多项目头文件和实现在上级目录的子文件中,vscode直接调试main函数所在文件时,直接报错某些头文件找不到(xxx.h not found 或者 undefine reference before),还有很多文章提到c_cpp_properties.json,可本菜压根都没碰到,配了也不会主动去搜索。
2.解决方法
vscode能调试的关键:能生成 .o可执行文件即可
vscode调试前会运行,然后在.vscode文件夹下会生成一个tasks.json文件
/usr/bin/g++ -g 目录/文件 -o 输出名字
要解决多个文件跨文件夹依赖问题,笨办法接去修改tasks.json(如下)也可以,只要能顺利编译,vscode就在编辑器中打断点调试了,有更快捷方法的大佬留言教教。
{"tasks": [{"type": "cppbuild","label": "C/C++: g++ 生成活动文件","command": "/usr/bin/g++","args": ["-fdiagnostics-color=always","-g","${fileDirname}/*.cc","home/webserver/src/base/*.cc","各种要用到的cc""-o","${fileDirname}/${fileBasenameNoExtension}", "-I","各种头文件所在目录(如下),记得一个目录加一个-I,有动态库-L依此类推","-I","/home/webserver/src/base" ],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}],"version": "2.0.0"
}
这篇关于vscode + Linux 如何在编辑器调试webserver这类完整C++项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!