QT ui崩溃

 

 

 

 

 崩溃的位置是在main.cpp return a.exec();

 

通过代码回溯和按钮点击位置查看到一个头文件 中的 char str [100]  在lineedit->settext显示崩溃;但是经过反复看,char str[]里边的内容并没有数组越界。

 先修改了一下 char str [100]  ---改成---char str [200]  ;发现不崩溃了;char str [100]的内容来自一个dll库内部获取的名字。

后经测试发现 编译 DLL时候,其中的头文件中的“char str数组”  的大小是[200], 但是qt demo测试APP里边的头文件(dll库的头文件)的char str数组的大小是[100];qt demo未及时更新头文件,只更新了dll;

一定要保证编译DLL的时候的头文件和测试dll时候demo的头文件是一样的

 

多人开发的时候一定要注意及时替换头文件;

头文件不一致:譬如私有成员变量不一致(其他都一样),恰巧你调用的接口用了这个成员变量,可是你却没有及时在demo中更换头文件,就会到时乱崩溃,位置毫无踪迹可寻。

 

还会引发一些不想干的结构体崩溃:

Run-Time Check Failure #2 – Stack around the variable '某某某' was corrupted.

原创,转载请注明出处

posted on 2020-07-13 19:45  邗影  阅读(10)  评论(0编辑  收藏

导航

统计