gdb学习笔记

  • 二月 01,2019
  • Coding

今天简单的学习了一下gdb的用法,现将一些常用操作记录下来。

调试前,要注意利用gcc编译源代码时,需要指定-g选项,以便产生带有调试信息的目标代码。

最常用的几个命令如下所示:

命令 命令缩写 功能
list l 显示源代码
break b 设置断点
run r 开始运行
display disp 查看变量的值
watch   监视变量的变化
step s 单步运行,进入子函数
next n 单步运行,跳过子函数
continue c 继续运行至断点
file   选择需要调试的程序
quit q 退出gdb
p *array@len   查看数组,array是数组首元素指针,len是数组长度

gdb的使用步骤如下:

  1. 编译源代码
gcc test.cpp -g -o test -lstdc++
  1. 进入调试环境
gdb test

gdb
file test
  1. 查看源代码
# 默认从起始位置显示10行代码
list
# 显示以第n行为中心的10行代码
list n
# 显示以functionname函数为中心的10行代码
list functionname
# 显示未显示的前面的代码
list -

  1. 设置断点
# 设置断点在第n行
break n
  1. 运行程序
# 全速运行
run
  1. 查看变量的值
# 查看变量varName的值
display varName
  1. 单步运行
# 进入子函数,即Step in
step
# 跳过子函数,即Step over
next
  1. 查看数组的值
# 查看首元素指针为array,长度为len的数组的值
p *array@len
# 一直显示数组的值
display *array@len

CONTACT