gdb与Cmake的使用

帅比萌擦擦* 提交于 2019-12-29 16:19:46

编写程序以及CMakeList.txt文件

代码可在下方链接查看
https://github.com/heyanwei/OpenCVLearning
在此处,只是说明CMakeList.txt中要定义的内容

cmake_minimum_required(VERSION 2.8)
project(DEMO)

SET(CMAKE_BUILD_TYPE "Debug")  # 定义编译类型
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb") # 定义Debug编译参数
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall") # 定义Release编译参数

find_package(OpenCV REQUIRED)

aux_source_directory(. DIRSRCS)
include_directories(${OpenCV_INCLUDE_DIRS}  ./imageProc ./)
add_subdirectory(imageProc)

add_executable(demo ${DIRSRCS})
target_link_libraries(demo ${OpenCV_LIBS} imageproc)

编译

在build目录下使用cmake命令,以便生成的文件都在build文件夹里面
在这里插入图片描述
然后使用make命令编译代码
在这里插入图片描述

调试

使用gdb运行程序

在这里插入图片描述

查看代码

list - l

查看主文件代码

在这里插入图片描述

查看指定函数代码

在这里插入图片描述

设置断点

break - b
在这里插入图片描述

查看所有断点

info break - info b
在这里插入图片描述

断点操作

删除断点

delete + 断点编号

禁用断点

disable + 断点编号

启用断点

enable + 断点编号
在这里插入图片描述

运行

run - r
在这里插入图片描述

开始执行并在main第一行停下来

start - start
在这里插入图片描述

打印内部变量

print - r
在这里插入图片描述

手动修改变量值

set a=1
在这里插入图片描述

跟踪查看变量值

每次停下来都会打印当前值
display - disp
在这里插入图片描述

继续运行直到下一个断点

continue - c
在这里插入图片描述

查看堆栈

查看函数调用信息
backtrace - bt
在这里插入图片描述
查看栈帧
frame - f
在这里插入图片描述

执行下一行(不进入函数)

next - n
在这里插入图片描述

执行下一行(会进入函数)

step - s
在这里插入图片描述

终止正在调试的任务

kill - k
在这里插入图片描述

退出调试环境

quit - q
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!