我正在使用 MinGW 工具链构建一个适用于 Windows XP 的应用程序,它有时会意外崩溃。因此,我尝试使用调试器(Gdb),但程序在发生任何事情之前都会以代码 03 退出。事实上,我从GDB看到的只是:
[新线程3184.0x7b8]
[新线程
3184.0xef8]
程序退出,代码为 03。
我怀疑依赖项(Qt、VTK 和 ITK,全部使用 MinGW 构建)的动态链接失败。但是,当我正常运行程序时,不会发生这种情况。或者,如果发生这种情况,它似乎是间歇性的,并且在程序启动并运行之后很久。注意:我还使用 Cmake 进行交叉编译。
我应该怎么办?我可以尝试什么?
通过添加回调signal(SIGABRT, <callback>)
在关闭进程之前捕获对 abort 的调用。如果这种情况发生在你击中之前main()
您可能必须求助于静态全局和编译器技巧来捕获它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)