线程2接收信号SIGBUS

时间:2016-12-10 07:09:07

标签: gdb

  

线程2收到信号SIGBUS,总线错误。 0x00000001001021e0在?   ()

。这是什么意思? GDB没有指定这种情况发生的地方

1 个答案:

答案 0 :(得分:1)

  

这是什么意思?

这意味着您的程序试图在地址0x1001021e0执行指令,但是在该地址映射的页面未映射执行权限。

  

GDB没有指明这种情况发生的地方

是的 :它发生在地址0x1001021e0

您想要做的是:

  1. 弄清楚如何在该地址执行,GDB where命令可能有帮助
  2. 了解0x1001021e0处的页面是如何映射的。在Linux上,cat /proc/$pid-of-debugged-program/maps或GDB info proc maps应该有所帮助。其他操作系统可能有类似的设施。