GDB大法(一)

gdb多线程程序调试常用几个命令 

http://blog.sina.com.cn/s/blog_aeec1b700101wzjg.html

 

调试多线程 & 查死锁的bug & gcore命令 & gdb对多线程的调试 & gcore & pstack & 调试常用命令

https://www.cnblogs.com/charlesblc/p/6256912.html

 

 

(gdb) set print pretty on  打印结构时, 缩进比较漂亮

      show print pretty

 

(gdb) ptype   pthread_cond_t  打印类型定义,结构定义 

(gdb) info types pthread_cond_t  打印所有指定类型的变量

 

gdb attach 25362     

gdb thread apply all bt  查看全部线程的调用栈,在所有线程上面执行bt命令

 

(gdb)  info threads        查看当前所有线程

  14 Thread 25267120 (LWP 25364)  0x00a4b59b in pthread_cond_timedwait@@GLIBC_2.3.2 ()

   from /lib/tls/libpthread.so.0

  13 Thread 66902960 (LWP 25365)  0x00a4b3ad in pthread_cond_wait@@GLIBC_2.3.2 ()

   from /lib/tls/libpthread.so.0

  12 Thread 45226928 (LWP 25366)  0x00628b1c in __nanosleep_nocancel () from /lib/tls/libc.so.6

  11 Thread 132537264 (LWP 25367)  0x005a72ee in sigsuspend () from /lib/tls/libc.so.6

  10 Thread 55716784 (LWP 25368)  0x00a4b3ad in pthread_cond_wait@@GLIBC_2.3.2 ()

   from /lib/tls/libpthread.so.0

  9 Thread 121064368 (LWP 25369)  0x00a4b59b in pthread_cond_timedwait@@GLIBC_2.3.2 ()

   from /lib/tls/libpthread.so.0

  8 Thread 77392816 (LWP 25370)  0x00a4b3ad in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0

  7 Thread 87882672 (LWP 25371)  0x00a4b59b in pthread_cond_timedwait@@GLIBC_2.3.2 ()

   from /lib/tls/libpthread.so.0

  6 Thread 98372528 (LWP 25372)  0x00a4b3ad in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0

  5 Thread 108862384 (LWP 25373)  0x00a4dd9e in accept () from /lib/tls/libpthread.so.0

  4 Thread 145025968 (LWP 25374)  0x00a4dd9e in accept () from /lib/tls/libpthread.so.0

  3 Thread 155515824 (LWP 25375)  0x00a4b3ad in pthread_cond_wait@@GLIBC_2.3.2 ()

   from /lib/tls/libpthread.so.0

  2 Thread 171506608 (LWP 4334)  0x00a4b3ad in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0

  1 Thread -1218530656 (LWP 25362)  0x00a49d58 in pthread_join () from /lib/tls/libpthread.so.0

(gdb) thread 10    切换到第几个线程

[Switching to thread 10 (Thread 55716784 (LWP 25368))]#0  0x00a4b3ad in pthread_cond_wait@@GLIBC_2.3.2 ()

   from /lib/tls/libpthread.so.0

(gdb) bt

#0  0x00a4b3ad in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0

#1  0x00398b7a in fd_fifo_post_internal (queue=0x983c998, item=0x35229e4, skip_max=0)

    at /home/bright/freediameter/libfdproto/fifo.c:347

#2  0x00399414 in fd_fifo_p
更多来源:http://www.cnjhw.com
ost_int (queue=0x983c998, item=0x35229e4)

    at /home/bright/freediameter/libfdproto/fifo.c:418

#3  0x008c2f61 in fd_out_send (msg=0x35229e4, cnx=0x99731f8, peer=0x983c808, flags=1)

    at /home/bright/freediameter/libfdcore/p_out.c:191

#4  0x008bb58a in fd_p_dw_handle (msg=0x35229e4, req=128, peer=0x983c808)

    at /home/bright/freediameter/libfdcore/p_dw.c:109

#5  0x008ca9a7 in p_psm_th (arg=0x983c808) at /home/bright/freediameter/libfdcore/p_psm.c:614

#6  0x00a48dd8 in start_thread () from /lib/tls/libpthread.so.0

#7  0x0065bfca in clone () from /lib/tls/libc.so.6

db) frame 1        切换调用栈

#1  0x00398b7a in fd_fifo_post_internal (queue=0x983c998, item=0x35229e4, skip_max=0)

    at /home/bright/freediameter/libfdproto/fifo.c:347

347 /home/bright/freediameter/libfdproto/fifo.c: No such file or directory.

in /home/bright/freediameter/libfdproto/fifo.c

(gdb) p *queue 

$1 = {eyec = -403959504, mtx = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {

      __status = 3, __spinlock = 0}}, cond_pull = {__c_lock = {__status = 0, __spinlock = 200300}, 

    __c_waiting = 0x18736, 

    __padding = "\000\000\000\0006\207\001\000\000\000\000\0005\207\001\000\000\000\000\000\234?203\t\000\000\000", __align = 0}, cond_push = {__c_lock = {__status = 0, __spinlock = 4}, __c_waiting = 0x3, 

    __padding = "\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\234?203\t\000\000\000", __align = 0}, list = {next = 0xb7106b68, prev = 0xb71cd258, head = 0x983ca14, o = 

0x0}, 

  count = 5, thrs = 1, max = 5, thrs_push = 2, high = 0, low = 0, data = 0x0, h_cb = 0, l_cb = 0, 

  highest = 0, highest_ever = 5}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值