gpt4 book ai didi

linux - 解释段错误消息

转载 作者:IT老高 更新时间:2023-10-28 12:33:28 26 4
gpt4 key购买 nike

以下段错误消息的正确解释是什么?

segfault at 10 ip 00007f9bebcca90d sp 00007fffb62705f0 error 4 in libQtWebKit.so.4.5.2[7f9beb83a000+f6f000]
segfault at 10 ip 00007fa44d78890d sp 00007fff43f6b720 error 4 in libQtWebKit.so.4.5.2[7fa44d2f8000+f6f000]
segfault at 11 ip 00007f2b0022acee sp 00007fff368ea610 error 4 in libQtWebKit.so.4.5.2[7f2aff9f7000+f6f000]
segfault at 11 ip 00007f24b21adcee sp 00007fff7379ded0 error 4 in libQtWebKit.so.4.5.2[7f24b197a000+f6f000]

最佳答案

这是一个段错误,因为跟随一个空指针试图查找要运行的代码(即在指令获取期间)。

如果这是一个程序,而不是共享库

运行 addr2line -e yourSegfaultingProgram 00007f9bebcca90d (并重复给定的其他指令指针值)以查看错误发生的位置。更好的是,获取带有调试工具的构建,然后在 gdb 等调试器下重现问题。

因为它是一个共享库

不幸的是,你被水洗了;事后动态链接器无法知道库在内存中的位置。在gdb下重现问题。

错误是什么意思

以下是字段的分割:

  • address(在 at 之后)- 代码试图访问的内存位置(可能是 1011 是我们期望设置为有效值但指向 0)

    的指针的偏移量
  • ip - 指令指针,即。尝试执行此操作的代码所在的位置

  • sp - 堆栈指针

  • error - 页面错误的错误代码;请参阅下文了解这在 x86 ( link ) 上的含义。

    /*
    * Page fault error code bits:
    *
    * bit 0 == 0: no page found 1: protection fault
    * bit 1 == 0: read access 1: write access
    * bit 2 == 0: kernel-mode access 1: user-mode access
    * bit 3 == 1: use of reserved bit detected
    * bit 4 == 1: fault was an instruction fetch
    * bit 5 == 1: protection keys block access
    * bit 15 == 1: SGX MMU page-fault
    */

关于linux - 解释段错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2549214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com