关于在linux gdb调试出现的段错误 无法具体定位

yaphet 2011-08-11 09:55:40
各位大侠,请教一下,在用gdb调式的时候 bt #0 0x00368cac in ?? () from /lib/libc.so.6
#1 0x00368a17 in strtol()from /lib/libc.so.6
#2 0x00000000 in ?? ()

这个难道是因为我访问了0地址出现的段错误么
谢谢
...全文
551 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaphet 2011-08-14
  • 打赏
  • 举报
回复
因为是服务器的程序,主流是7个线程在操作,大家调试多线程有没相关经验,随便为每个线程定义一个断点,但是由于线程的并发性,此线程的一步的时间 ,另外一个线程照样在运作,是否具体函数全部断点。。
请各位大侠指点。
至于bt出现的定位 都在标题中,关于基础库的那个函数没调用到,其实我也纠结在此。
个人感觉bt定位的第三行是关键 可是定不出来,
谢谢各位大侠
goodmrning 2011-08-13
  • 打赏
  • 举报
回复
只凭这点信息,不好定位哪里的问题。

打断点跟踪下。
freetstar 2011-08-13
  • 打赏
  • 举报
回复
bt可以跟踪到函数的,
pplorins 2011-08-13
  • 打赏
  • 举报
回复
#1 0x00368a17 in strtol()from /lib/libc.so.6
这行的意思是调用strtol函数的时候出错了吧。你看这个函数属于libc.so这个基础库。基础库怎么可能有问题,肯定是你传给strtol的参数出错了。

是不是操作了一个NULL的指针,或者越界什么的。段错误基本都是指针的问题,呵呵。
「已注销」 2011-08-11
  • 打赏
  • 举报
回复
仔细检查 估计是指针问题。
yong_f 2011-08-11
  • 打赏
  • 举报
回复
strtol里的参数是不是为NULL啊
Elvis_chen 2011-08-11
  • 打赏
  • 举报
回复
关注中。
yaphet 2011-08-11
  • 打赏
  • 举报
回复
strtol里的参数是不是为NULL啊
这个函数程序没调用。也不清楚他为何出现
yaphet 2011-08-11
  • 打赏
  • 举报
回复
还可以怎么跟踪到具体行,哪个指令,求指教
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7fee6c0 (LWP 2753)]
0x00368cac in ?? () from /lib/libc.so.6
这是调式出现的提示信息
上面的是用了bt
louyong0571 2011-08-11
  • 打赏
  • 举报
回复
既然gdb调的,应该可以跟踪到具体行吧,仔细看看那行代码

23,215

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧