Qt Release报错:The process was ended forcefully. release\***.exe crashed.
Qt报错The process was ended forcefully.
出现错误的情况说明,在Qt下写的一个工程使用Debug编译的时候没有问题,可以通过正确执行,当使用Release版本编译就会报错,无法正确执行。
09:22:38: The process was ended forcefully.
09:22:38: E:\Code\Qt\uart_tools_Thunder\build-uart_tools-Desktop_Qt_5_15_0_MSVC2019_64bit-Release\release\uart_tools.exe crashed.
解决问题
一开始这个错误让我很郁闷,按理说Debug版本编译通过,在语法上是没有什么问题的,为什么Release版本编译无法正确通过。在网上看了很多相关解决的过程,基本都是说缺少库文件其它什么的。当我使用调试,对我的代码调试时,发现奇怪的访问了一个越界的地址,这时便一下想到问题,原来是我声明了一个二级指针,直接new的数组对象,而二级指针本身并没有初始化(二级指针并未分配内存)。错误原因简略如下:
typename **parameter;
parameter[0] = new typename;
这种错误尤为难找,各位小伙伴一定不会像我一样粗心大意的。修改后如下:
typename **parameter;
parameter = new typename *[NUM];
parameter[0] = new typename;
到此问题解决!!!
总结
一般Debug编译可以通过,Release不能通过,大多数情况都是自己写的代码本身会有问题,多仔细检查检查,别像我这样粗心大意。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
