Qt打包程序,debug版运行正常,release版异常

文章描述了一个开发者在Qt程序中遇到的问题,release版本在不同电脑上崩溃,经排查发现是由于未初始化的指针导致。通过逐步测试和代码审查,发现问题出在对指针的管理上,强调了及时初始化指针的重要性,尤其是在涉及多模块交互时.

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录一下一个很坑的问题:qt编译程序,打包了debug版和release版。然后在自己电脑上运行功能都是正常跑,但是呢,丢到另一台电脑,同样的某个功能发现debug版正常运行,而release版该功能异常崩溃。

检查多次,比如可能影响的原因:少带了文件,相关库文件版本不同,或者是不同电脑环境变量不同。结果发现都不是造成该问题的原因。

有人说可能是release版和debug版,对于一些指针未初始化的容忍程度不同。可能一个指针变量没初始化,在debug环境能够正常过,但在release下就不行。但是因为改动的代码距离上个版本相差太多,本人也不确定是否是这个原因,并且也没有其他好的方法去定位问题出在何处。一时间不知道该咋办。

后面想着先检查其他功能是否有相同的情况,就在界面上各功能处点来点去,结果点回之前异常的功能,发现又正常了。这会就意识到可能是前面点的某个功能给此异常功能带来了影响。然后通过检查代码,果真是有个指针没初始化,就在异常的功能里面使用了,而另一个功能则有对该指针使用new对其进行初始化,所以之后再到异常那边去就正常了。



果然对于一些牵扯到关系的地方,指针还真是得及时进行初始化,不然不初始化,野指针,在别的地方就是使用前进行是否为nullptr判断也不管用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值