Ubuntu GDB调试程序
GDB命令
// gdb 命令
$ gdb -p 87746
// 打印所有的线程信息
(gdb) info thread
// 切换到第2个线程
(gdb) thread 2
// bt 可以打印函数堆栈,却无法看到函数参数,跟 pstack 命令一样
(gdb) bt
// 打印第三帧信息,每次函数调用都会有压栈的过程,而 frame 则记录栈中的帧信息
(gdb) frame 3
// 打印mutex_A的值 , __owner表示gdb中标示线程的值,即LWP
(gdb) p (pthread_mutex_t)mutex_A
// 打印mutex_B的值 , __owner表示gdb中标示线程的值,即LWP
(gdb) p (pthread_mutex_t)mutex_B