Gdb 线程2接收到信号SIGBUS

Gdb 线程2接收到信号SIGBUS,gdb,Gdb,线程2收到信号SIGBUS,总线错误。0x00000001021E0英寸?? () 。这是什么意思?GDB也没有指定发生这种情况的位置 这是什么意思 这意味着您的程序试图在地址0x1001021e0处执行指令,但在该地址映射的页面未映射执行权限 GDB也没有指定发生这种情况的位置 是的,它发生在地址0x1001021e0处 您要做的是: 了解如何在该地址执行,GDBwhere命令可能会有所帮助 了解0x1001021e0处的页面是如何映射的。在Linux上,调试程序/映射的cat/proc/$p

线程2收到信号SIGBUS,总线错误。0x00000001021E0英寸?? ()

。这是什么意思?GDB也没有指定发生这种情况的位置

这是什么意思

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

GDB也没有指定发生这种情况的位置

是的,它发生在地址
0x1001021e0

您要做的是:

  • 了解如何在该地址执行,GDB
    where
    命令可能会有所帮助
  • 了解
    0x1001021e0
    处的页面是如何映射的。在Linux上,调试程序/映射的
    cat/proc/$pid
    或GDB
    info-proc-maps
    应该会有所帮助。其他操作系统可能具有类似的功能
  • 这是什么意思

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

    GDB也没有指定发生这种情况的位置

    是的,它发生在地址
    0x1001021e0

    您要做的是:

  • 了解如何在该地址执行,GDB
    where
    命令可能会有所帮助
  • 了解
    0x1001021e0
    处的页面是如何映射的。在Linux上,调试程序/映射的
    cat/proc/$pid
    或GDB
    info-proc-maps
    应该会有所帮助。其他操作系统可能具有类似的功能