Debug模式下不崩溃, Release模式下偶尔发生崩溃的解决思路

资料整合于各网友大佬。

debug和release两种编译模式的区别:

         debug和Release的区别

         深入了解Debug 和Release

 

调试release版本的方法:

        1. 使用弹出对话框的方法,确定是哪里出错了,然后再查看问题。此方法是笨方法,适用于新手,可以解决一些问题,但是只能定位,无法像调试一样查看过程中变量的信息。

        2. 此外,在实践中发现,通过上述方法会对结果产生影响,为避免此现象发生,换一种方法(在QT下),使用qInstallMessageHandler(myoutput);其中myoutput,是根据qt帮助文档中的例子写的(直接复制过来就能用)然后再需要打印提示信息的地方直接使用即可。具体查看可通过以下设置查看错误信息:

       第一是打开项目属性->连接器->系统->子系统->选择控制台;即可在控制台上输出打印信息;

       第二是直接在刚才函数后面添加一个文件,以读写和追加方式打开,将调试信息输出到文本文件中。

        3. 其实,更好的解决方法是:

        设置release版本下的属性,c/c++->优化->已禁用;

        连接器调试->生成调试信息改为优化以便于调试,即可像debug一样打断点进行调试了。

        经过一番折腾,最后发现是有个指针变量没有赋初值导致的。常见的debug没问题而release出错的情况主要有:

        变量未初始化;

        数据溢出;

        内存分配方式不同引起的问题等。

 

如何使Qt的release模式可调式(windows)如何使QT的Release模式可调试(Windows)

原文链接: https://www.cnblogs.com/azbane/p/12500715.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    Debug模式下不崩溃, Release模式下偶尔发生崩溃的解决思路

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/398424

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月12日 上午9:39
下一篇 2023年4月12日 上午9:40

相关推荐