我正在使用MinGW工具链为Windows XP构建应用程序,它有时会意外崩溃。所以,我正在尝试使用调试器(Gdb),但程序会在任何事情发生前退出代码03。事实上,我从GDB看到的只有:
[新主题3184.0x7b8]
[新主题 3184.0xef8]程序退出,代码为03。
我怀疑是依赖的动态链接失败了(Qt,VTK和ITK都是用MinGW构建的)。但是,当我正常运行程序时,这不会发生。或者如果它发生,它似乎是间歇性的,并且在程序启动和运行后很好。 注意:我也使用Cmake进行交叉编译。
我该怎么办?我该怎么办?
答案 0 :(得分:2)
通过signal(SIGABRT, <callback>)
添加回调以在关闭进程之前捕获对abort的调用。如果在你点击main()
之前发生这种情况,你可能不得不诉诸一个静态的全局和编译器技巧来捕获它。
答案 1 :(得分:0)
代码3通常在段错误上返回。 尝试切换到Linux并使用电围栏调试程序。它可能会给你一些额外的见解。