主要参考(太有用啦!)及这个(不太有用)
C++
注:为了保证项目可以调试,
step1:
需要在CMakeLists.txt文件中将-g、-O2参数删除,否则会对代码进行优化(比如会导致断点定位不准确),导致调试过程出现bug。
step2:
需要在CMakeLists.txt文件中将cmake_build_type设置为 “Debug”模式。(如果设置为release模式,则生成的可执行文件无法被调试)。
修改后示例
1.先建立build文件夹并cmake .. 、make成功,确保生成了可执行文件。
2.删除.vscode文件夹(如果有的话)。
3.选择想要进行调试的项目总文件夹(包含build及.cpp、CMakeLists.txt等文件的总文件夹)。
4.按如图1、2、3、4步骤(绿色数字)。
第4步
第4步执行后提示4.1
(点击“打开‘launch.json'即可)
5.修改launch.json中的对应信息
6.按下键盘的F5键即可进行调试运行。
7.后续进阶(实现自动化调试:修改代码后,会自动编译)见参考视频的7.5节tasks.json部分。
tasks.json内容如下:
{
"version": "2.0.0",
"options": {
"cwd": "${workspaceFolder}/build"//这里需要修改为工程的build绝对路径(针对存在多个工程的情况)
},
"tasks": [
{
"type": "shell",
"label": "cmake",
"command": "cmake",
"args": [
".."
]
},
{
"label": "make",
"group": {
"kind": "build",
"isDefault": true
},
"command": "make",
"args": [
]
},
{
"label": "Build",
"dependsOrder": "sequence", // 按列出的顺序执行任务依赖项
"dependsOn":[
"cmake",
"make"
]
}
]
}
tasks.json图片版用于检查:
调试时左侧的调试显示窗口会有相应的变量信息变化,很有用,有助于对程序的理解
vscode跳转到上次位置的快捷键:
GGG 搭建简单cmake项目工程示例
1.项目文件架构:
2.libhello.h
#pragma once
void printHello();
3.libhello.cpp
#include <iostream>
using namespace std;
void printHello(){
cout << "Hello SLAM" << endl;
}
4.CMakeLists.txt
include_directories("/home/gx/shisijiang/chenmingwei/slam/slambook2/G_test/2/include")
add_library(lib ./src/libhello.cpp)
add_executable(uselib uselibhello.cpp)
target_link_libraries(uselib lib)
5.uselibhello.cpp
#include "include/libhello.h"
int main(){
printHello();
return 0;
}
python
1.删除.vscode文件夹(如果有的话)。
2.打开想要进行调试的python文件。
3.按如图1、2、3步骤(绿色数字)。
4.在python文件中按自己的调试需求打断点,之后按键盘的F5键即可进行调试运行。