前言
Python用到了pdb
c是用gdb
参考
小结
在gcc的时候加上-g,把调试信息加到可执行文件中。
l
列出代码
break 16
在16行设置断点
r
run运行
n
next 运行下一条
s
step 有函数的话step in
c
继续运行到下一个断点
p
打印变量
i local
info查看local变量
set var i = 1
修改变量
q
quit 退出
display
查看表达式的值
多线程调试
gcc的时候要加上-pthread
info thread
查看当前进程的线程
thread <ID>
切换调试的线程为指定ID的线程
break file.c:100 thread all
所有的线程经过第100行都要断点
set scheduler-locking off|on|step
off:所有的线程都执行
on:只有当前的线程执行
step:单步的时候,除了next过掉一个函数以外,只有当前线程执行。