gdb 打印出来的栈信息,我看不懂

quanwei9958 发布于 2015/01/30 12:06
阅读 1K+
收藏 0
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xac955b40 (LWP 20289)]
0xb70ecae7 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
(gdb) info threads
  Id   Target Id         Frame 
* 9    Thread 0xac955b40 (LWP 20289) "18:85:73:a1:8e" 0xb70ecae7 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
  7    Thread 0xad957b40 (LWP 20287) "QInotifyFileSys" 0xb7fdd424 in __kernel_vsyscall ()
  6    Thread 0xaf9b6b40 (LWP 20286) "QThread" 0xb7fdd424 in __kernel_vsyscall ()
  4    Thread 0xb1edeb40 (LWP 20284) "gmain" 0xb7fdd424 in __kernel_vsyscall ()
  3    Thread 0xb31b8b40 (LWP 20283) "gdbus" 0xb7fdd424 in __kernel_vsyscall ()
  2    Thread 0xb3cd9b40 (LWP 20282) "dconf worker" 0xb7fdd424 in __kernel_vsyscall ()
  1    Thread 0xb6841740 (LWP 20278) "program" 0xb7436c8e in ?? () from /usr/lib/i386-linux-gnu/libQtNetwork.so.4
(gdb) bt
#0  0xb70ecae7 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#1  0xb70edb84 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#2  0xb7071f70 in start_thread (arg=0xac955b40) at pthread_create.c:312
#3  0xb6e5b50e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129
(gdb)



其中以mac 18:85:73:a1:8e 命名的是创建的一个子线程,我出现错误了,定位到了这个位置,实在是找不到了,看不懂说的啥
加载中
0
甘薯
甘薯

一般在类unix平台上出现Segmentation fault都是指针的问题,

多数情况是因为使用了无效的空指针或者悬垂指针.

仔细看一下你的代码吧, 这个堆栈信息基本上没什么用. 尤其是线程中爆出来的.

甘薯
甘薯
回复 @quanwei9958 : 大锅, 你代码再多也总有出错的大致时间地点人物和操作过程吧.如果一开始就出错就从一开始打log除此之外别无他法
quanwei9958
quanwei9958
回复 @甘薯 : 代码太多了,而且又是多线程
甘薯
甘薯
回复 @quanwei9958 : 有啥难的, 在入口的地方打印逐行log. 然后看看断在哪里不就知道了...
quanwei9958
quanwei9958
就是很难排查啊~~~
返回顶部
顶部