gpt4 book ai didi

c++ - 重现 Qt : Segmentation fault when debugging code 中的错误

转载 作者:行者123 更新时间:2023-11-28 08:18:51 25 4
gpt4 key购买 nike

我是 Linux、Qt 的新手,对 C++ 的了解还比较初级;所以我遇到的问题很可能是我自己的错......非常感谢任何帮助。

基本上在任何项目中尝试逐步进行时,我都会遇到段错误。例如,QtCreator 中包含的表模型项目。在发布或调试中,项目运行没有任何问题。但是,如果我尝试添加断点(当然是在调试中)并单步执行代码,我很快就会得到以下随机错误:

The inferior stopped because it received a signal from the Operating System.

Signal name : SIGSEGV Signal meaning : Segmentation fault

此时 QtCreator 显示了一些小的汇编代码:

        Dump of assembler code for function __nptl_death_event:
0x00e80d00 <+0>: push %ebp
0x00e80d01 <+1>: mov %esp,%ebp
0x00e80d03 <+3>: pop %ebp
0x00e80d04 <+4>: ret
End of assembler dump.

我在运行:

Qt Creator 2.1.0 Based on Qt 4.7.2 (32 bit) on Ubuntu 11.04 via VMWare on a Mac.

我不知道 VMWare 是否会成为问题的潜在来源。我怀疑我在调试时也可能做错了什么,因为我不理解外部/附加术语(我还没有时间对此做一些研究,同时发现这么多东西,有点不知所措...)

感谢您的帮助。

最佳答案

我认为这是 GDB 拷贝的问题 - 更具体地说,是模块或库不匹配。尝试重新编译 GDB,以便您知道它可以与本地 glibc 和 pthreads 库一起使用。

作为旁注,该汇编代码是一个空函数。它建立一个堆栈框架,再次将其撕下,然后返回。它似乎使用 cdecl 调用约定,这意味着编写它的库是 C(而不是 C++)

关于c++ - 重现 Qt : Segmentation fault when debugging code 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6691369/

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