【发布时间】:2012-10-12 03:11:06
【问题描述】:
我在 QT 中编写了一个应用程序。该应用程序运行良好,但退出时我得到一个
Segmentation fault (core dumped)
如何解决这个分割问题?
【问题讨论】:
-
这里没什么可做的。如果它发生在退出时,它可能与你的析构函数中的内存管理有关,例如释放一个已释放的指针。我建议使用
gdb加载核心转储并查看堆栈跟踪。 -
我不知道转储在哪里?运行可执行文件的文件夹中没有转储文件。
-
应该有一个核心文件,因为您的计算机确实告诉您“核心转储”。如果您没有看到它,请在
gdb中运行您的程序以开始。 -
核心不会自动生成。需要指定 ulimit -c unlimited。
-
我发现了问题所在。即使在 app.exec() 尝试引用一些被释放的指针之后,Boost asio 服务仍在运行。在 main.cpp 完成之前退出此服务时,错误已修复。还是谢谢。
标签: c++ qt segmentation-fault