qt5.9在Debug模式下调试和运行都没问题。
一旦切换到Release模式,运行报错为:
“程序异常结束。
The process was ended forcefully.”
强制结束,程序奔溃!
Release模式下,开始分布调试,不打断点的情况下,弹窗报错如下:
在Degugger调试窗口下找设计函数,找到具体函数XXX(本图问题代码是级别为3的函数, XXX为现实中对应的问题函数名)。找到问题函数,导致这种程序异常,进而Release运行导致代码奔溃的原因有多种,比如指针,环境问题等。
本文只讨论一种,下图中级别为3的函数是有返回值的,但是忘记写返回值。所以只需要补充和函数相对应的返回值即可。
就是这么奇怪,Degger模式下,有返回值的函数甚至不写返回值也能通过编译,正常运行;Release模式不行,有返回值函数必须写清楚返回值。