在发生任何事情之前,程序在调试器中崩溃

时间:2010-05-11 22:05:50

标签: c++ debugging qt

我正在使用MinGW工具链为Windows XP构建应用程序,它有时会意外崩溃。所以,我正在尝试使用调试器(Gdb),但程序会在任何事情发生前退出代码03。事实上,我从GDB看到的只有:

  

[新主题3184.0x7b8]
[新主题   3184.0xef8]

     

程序退出,代码为03。

我怀疑是依赖的动态链接失败了(Qt,VTK和ITK都是用MinGW构建的)。但是,当我正常运行程序时,这不会发生。或者如果它发生,它似乎是间歇性的,并且在程序启动和运行后很好。 注意:我也使用Cmake进行交叉编译。

我该怎么办?我该怎么办?

2 个答案:

答案 0 :(得分:2)

通过signal(SIGABRT, <callback>)添加回调以在关闭进程之前捕获对abort的调用。如果在你点击main()之前发生这种情况,你可能不得不诉诸一个静态的全局和编译器技巧来捕获它。

答案 1 :(得分:0)

代码3通常在段错误上返回。 尝试切换到Linux并使用电围栏调试程序。它可能会给你一些额外的见解。