GDB常用调试方式

使用gdb调试之前,首先要利用gcc/g++生成可利用GDB调试的文件,然后在进行调试。

1.gcc/g++ 调试

    常采用的方式为gcc /g++  -g  -Wall  xx.c/cpp  -o  xx

其中gcc/g++根据不同的编译文件选择编译工具,-g表示编译器在编译的时候产生调试信息,-Wall表示生成所有警告信息,xx.c/cpp表示用于编译的源文件,-o 表示指定输出文件的文件名,xx表示生成的可执行文件。

2. gdb调试

(1)启动gdb的方法:

gdb <program>
 
也可以直接进入gdb调试界面,再用help来查看相关指令。
在写具体指令时可以用第一个字母,或者用tab键补齐

gdbb(break) func 或者 b(break) 4  在对应函数或行数处设置断点。
gdbclear linenumber 删除指定行的断点
gdbq  quit 退出gdb
gdbrun 运行代码
gdbinfo break 查看断点信息
gdbn next 单条语句执行
gdbs 步入函数
gdbc 继续运行程序,continue命令简写
gdbp print xx 打印变量xx的值
gdbdisplay xx  显示xx值  将会一直显示用来监听
gdbbt  查看函数堆栈
gdbfinish  退出函数
gdbinfo threads  显示当前线程

(2) cmake-gdb
如果用使用cmake-gdb,则需要在cmake中添加一下代码。
SET(CMAKE_BUILD_TYPE "Debug")  
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")  
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall") 

add_executable(XX  XX/X)

从而可直接使用gdb <program>进行程序调试

猜你喜欢

转载自blog.csdn.net/u011927112/article/details/80383400
今日推荐