【发布时间】:2011-07-14 09:54:51
【问题描述】:
我是 Linux、Qt 的新手,并且在 C++ 方面相对初级;所以我遇到的问题很可能是我自己的错......非常感谢任何帮助。
在基本上任何项目中尝试逐步进行时,我都会遇到分段错误。例如,QtCreator 中包含的tablemodel 项目。在发布或调试中,项目运行没有任何问题。但是如果我尝试添加断点(当然是在调试中)并单步执行代码,我很快就会得到以下随机错误:
下级停止了,因为它收到了来自操作系统的信号。
信号名称: SIGSEGV 信号含义: 分段错误
此时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 基于 Qt 4.7.2(32 位) 通过 Mac 上的 VMWare 在 Ubuntu 11.04 上运行。
我不知道 VMWare 是否会成为潜在的问题根源。我怀疑我在调试时也可能做错了,因为我不理解外部/附加术语(我还没有时间对此进行一些研究,同时发现了很多东西,有点不知所措...)
感谢您的帮助。
【问题讨论】:
-
如果你不使用wmware?如果你在运行 ubuntu 的 PC 上运行?
-
不幸的是,我手头没有任何可用的 PC 来尝试这个...
-
这在 Windows 上使用 gdb 吗?我在使用 NetBeans 并尝试调试 Qt 应用程序时遇到了类似的问题。我搬到了一个新环境,问题就消失了。我认为这是版本不兼容,但我没有想到任何特定的罪魁祸首。
-
这是使用 gdb,但在 ubuntu 上通过 mac 上的 vmware,而不是 windows。我的 gdb 版本是:GNU gdb (Ubuntu/Linaro 7.2-1ubuntu11) 7.2
标签: c++ debugging qt segmentation-fault vmware