gdb 调试工具

gdb 调试工具

常用命令

  • g: 使用该参数编译可以得带可执行文件,得到调试表。
  • list 100: 从第100行开始显示代码
  • list或者l: 显示代码
  • b 52: 在52行设置一个断点
  • b 20 if i = 2:设置条件断点。一般用于循环中
  • info b: 查看gdb调试表中的所有断点
  • run或者r:执行程序,遇到断点停止
  • n: 执行下一步,如果当前行是函数,不进入函数
  • s: 执行下一步,如果当前行是函数,进入函数。如果该函数是系统函数,可能找不到这个系统函数进入,退出的方法是:until 16, 16行代码是调用系统函数这样代码之后的代码。
  • p i(print i):查看变量i的值。
  • ptype i: 查看i的变量类型
  • continue:到下一个断点继续执行。
  • quit:退出当前调试
  • start:不需要设置断点,直接从第一行执行
  • finish: 跳出当前的函数。也就是结束当前函数调用。
  • set args aa bb cc: 设置main参数列表。应该在start命令之前执行,或者在断点模式下可以改为run aa bb cc
  • bt(backtrace): 列出当前程序正在存活的栈帧
  • frame 1: 切换栈帧
  • display i:每次执行都显示i值,取消方法是undisplay <跟踪变量i的编号>。

栈帧

栈帧:随着函数调用而在 stack 上开辟的一片内存空间。用于存放函数调用时产生的局部变量和临时值。

你可能感兴趣的:(Linux)