segment fault是从哪里打出来的?

kiroro00 2006-03-21 03:41:17
rt
...全文
203 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kiroro00 2006-03-23
  • 打赏
  • 举报
回复
觉得tb01412说得有道理,gnu的libc中确实能搜到Segmentation fault,但我见过的除了打印"Segmentation fault",还有"Memory fault","Abort","段错误",是在不同的shell上打印的
fierygnu 2006-03-22
  • 打赏
  • 举报
回复
手边没系统。用strace跟踪一个这样的应用看看message哪里来的。应该是文件,否则怎么支持I18N。
tb01412 2006-03-22
  • 打赏
  • 举报
回复
当一个进程遇到Segmentation fault时,内核进入异常处理,然后就回收进程资源,从而不会再回到进程的用户态了,如果内核代码中没有相关的字符信息,那么内核有可能设置了某个什么标志,然后由Shell来完在解析并输出到控制台中的
x86 2006-03-22
  • 打赏
  • 举报
回复
应该搜Segmentation fault
kernel里面确实没有,我想应该在libc里面:
strings /usr/lib/libc.a|grep "Segmentation fault"
x86 2006-03-22
  • 打赏
  • 举报
回复
应该在libc里面,kernel编译也会用到libc吧。
fierygnu 2006-03-21
  • 打赏
  • 举报
回复
没找过:(
kiroro00 2006-03-21
  • 打赏
  • 举报
回复
怎么用grep在kernel的source里没有找到,libc中也没有
fierygnu 2006-03-21
  • 打赏
  • 举报
回复
系统调用里。
kiroro00 2006-03-21
  • 打赏
  • 举报
回复
我是问这句话是从哪打印出来的
fierygnu 2006-03-21
  • 打赏
  • 举报
回复
非法内存访问。

23,116

社区成员

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

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