Linux gdb符号调试器

  gdb是一个用来调试C/C++程序的功能强大的调试器,它能在程序运行时观察程序内部结构和内存的使用情况。

  主要功能包括:

  1. 监视程序中变量值的变化。
  2. 设置断点,使程序在指定的代码行上暂停执行,便于观察。
  3. 单步执行代码。
  4. 分析崩溃程序产生的core文件。

  命令形式:

gdb [filename]

  命令设置:

//在main()处设置断点
(gdb)break main

//执行程序
(gdb)run

//此刻,程序运行到main()处停止

//使用下面命令,直到遇到下一断点或结束才停止,下面两种功能一样
(gdb) count N
(gdb) continue N

//使断点恢复
(gdb)enable 断点编号

//使断点失效
(gdb)disalbe
断点编号
//删除断电
(gdb)delete
断点编号或表达式
//清楚断点
(gdb)clear 要清除断电所在行号

//可以受用单步跟踪命令跟踪程序代码,它一次只执行程序的一行代码(快捷键s)
(gdb)step
//它可以打印表达式的值,还可以用来打印内存中某个变量开始的一段区域的内容
(gdb)print 打印表达式

//print命令后的表达式有两个符号具有特殊意义,$和$$,$为给定序号的前一序号,$$为给定序号的前两个序号
(gdb)print i

$1=30
(gdb)print $

$2=30
(gdb)print $$

$3=30
(gdb)print $$3

$4=30
//dispaly可以用来观察一些表达式的变化

(gdb)display 要显示表达式的值

//不需要跟踪某一段代码时使用,它不能跟踪到程序里(快捷键n)
(gdb)next
原文地址:https://www.cnblogs.com/coder2012/p/2984128.html