signal 7和signal 11

loveEli 2011-07-13 11:36:41
我的程序运行了大概1周就出错了,gdb时有这样一句
Program terminated with signal 7, Bus error.

我查了一下signal 7,bus error(bad memory access)
我不知道signal 7 和signal 11究竟有什么区别啊?

最重要的是什么导致了signal 7?是越界了吗?
哪位大仙能讲解下signal 7
...全文
3860 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveEli 2011-07-14
  • 打赏
  • 举报
回复
这问题复现大约又得等一周了,还木有解决,关于SIGBUS我找到了下面的解释,分享一下:
Invalid address alignment
The program has attempted to read or write data that does not fit the CPU's memory-alignment rules.
Non-existent physical address
This is equivalent to a segmentation fault, but for a physical address rather than a virtual address.
Object-specific hardware error
This is far less common, but it is present in Linux and Solaris, when virtual memory pages have disappeared

关于signal 7 SIGBUS,有木有牛人再详细讲讲哈....
wyjq395 2011-07-13
  • 打赏
  • 举报
回复
区别呢,11是POSIX的而7不是(所有可能因为平台不同),默认动作都是终止+core。
出错的类型真的很少,数组越界有可能,对齐有可能(可能性比较小),传递给函数的参数错了也有可能。
出错的原因可就千奇百怪了,是个很有难度的问题,不是论坛上问一下就能解决的,当然你首先要找到出错的语句。
希望楼主解决后分享下
louyong0571 2011-07-13
  • 打赏
  • 举报
回复
好像是跟总线对齐什么的有关系,具体也不太清楚,呵呵
应该是访问了不对齐的地址产生的。
金刚葫芦娃 2011-07-13
  • 打赏
  • 举报
回复
不懂..

23,118

社区成员

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

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