之前一直都是debug模式下编译程序, 现在要求release模式下编译运行正常通过, 结果刚运行就出现异常退出问题. 查询得知debug模式编译时会做很多安全处理, 并且会带有调试信息, 而release模式并没有.
可以尝试在 .pro 文件的末尾加入下面两行
# release断点调试
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
然后在release模式下尝试debug, 能够看到函数调用栈多了一些之前没有的信息, 发现是一些没有用到的函数, 或者有的函数没有返回值, 调用时没用到.修改之后就能够正常通过了.
但是并不知道原理是什么. 有没有大佬指点一下或者是哪方面的技术.