- 1.ps -eo pid,lstart,cmd | grep proname找出进程的pid
- 2.gdb attach pid。使用gdb attach可以调试正在运行的进程,这对数据不正常的程序很有效。
- 3.info threads查看具体的线程id。然后去日志查看具体的线程id
- 4.thread x切换线程到具体的线程
- 5.在线程中设置断点。
- 6.set scheduler-locking off让所有的线程运行.gdb默认调试状态下只有当前的线程在运行,所以先要让整个程序运行起来。
- 7.continue让线程运行,等待程序停在断点处,然后info命令查看现场即可。
查看本地变量数据的一些技巧:
- set print pretty on 按格式打印struct结构体时
- set print union 打印struct时按格式打印内部的union
- set print array 按格式打印数组
网友评论