一、显示
info args 打印出当前函数的参数名及其值
info locals 打印出当前函数中所有局部变量及其值
set print elements 0 打印的字符串长度不受限制
二、设置断点
break + 行号或函数名 break n/func 设置临时断点,到达后被自动删除
break + filename + 行号 break main.c:10 用于在指定文件对应行设置断点
break + 行号 + if + 条件 break 10 if i==3 用于设置条件断点,在循环中使用非常方便
三、堆栈
backtrace/bt bt 用来打印栈帧指针,也可以在该命令后加上要打印的栈帧指针的个数,查看程序执行到此时,是经过哪些函数呼叫的程序,程序“调用堆栈”是当前函数之前的所有已调用函数的列表(包括当前函数)。每个函数及其变量都被分配了一个“帧”,最近调用的函数在 0 号帧中(“底部”帧)
frame frame 1 用于打印指定栈帧
info reg info reg 查看寄存器使用情况
info stack info stack 查看堆栈使用情况
up/down up/down 跳到上一层/下一层函数
四、多线程
info threads 显示当前可调试的所有线程
thread ID 切换当前调试的线程为指定ID的线程