gcc gdb调试 段错误 停在了 libc.so 如何查看函数栈中 参数值


GDB调试停在了glibc中,如何查看如何查看函数栈中,参数值?


bt命令:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x920f6b70 (LWP 5472)]
0xb5045559 in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
(gdb) bt
#0  0xb5045559 in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
#1  0xb50484ac in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
#2  0xb50489dd in realloc () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
#3  0xb7f310ad in xrRealloc (ptr=0xa8d8f90, size=26896) at ../../base/mem/mem_cmn.c:53
#4  0xb4b84fd2 in initRGAnaVal (pMsg=0xa8d8d80, sum=1681) at ../../../frcore/rarecorder/src/reccomtrade.c:1757
#5  0xb4b87cd2 in getCTriggerMsg () at ../../../frcore/rarecorder/src/reccomtrade.c:2609
#6  0xb4b88fb1 in getTrigger () at ../../../frcore/rarecorder/src/reccomtrade.c:3033
#7  0xb4b89036 in processData () at ../../../frcore/rarecorder/src/reccomtrade.c:3069
#8  0xb4b883d7 in processComtrade () at ../../../frcore/rarecorder/src/reccomtrade.c:2792
#9  0xb4ba95cf in recProcessSV (pSV=0x8a845798) at ../../../frcore/rarecorder/src/recprocessor.c:468
#10 0xb4b78487 in recSvTask (arg=0x0) at ../../../frcore/rarecorder/src/frprot.c:162
#11 0xb7fc1c39 in start_thread () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0
#12 0xb50a8d2e in clone () from /lib/i386-linux-gnu/i686/cmov/libc.so.6

停在libc.so中了。list命令由于找不到库代码,直接停在了main入口。直接p命令打印函数栈中的参数,找不到。


那么,使用f命令,沿着调用栈找吧。

(gdb) f 4
#4  0xb4b84fd2 in initRGAnaVal (pMsg=0xa8d8d80, sum=1681) at ../../../frcore/rarecorder/src/reccomtrade.c:1757
1757                    if ((pVal = xrRealloc(pMsg->pVal, sum*xrSZOF(GANA_VAL))) == NULL)
(gdb) 

(gdb) p pVal
$1 = (GANA_VAL *) 0x0

参考:

http://blog.csdn.net/linfeng999/article/details/38413945












  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值