问题描述
- qt 静态编译后在一部分电脑上不能运行???
-
qt 静态编译后在一部分电脑上不能运行。软件测试
winds下qt5.5.1下静态编译了一个软件,
功能:
自己读取一个本地图片,
然后基于udp协议发送给自己,
再在本地接收图片信息,并且显示出来。(软件测试可以实现预期功能)
注释:
其中多次用到内存的申请。
问题:
1.在所有电脑上可以打开软件。
2.在部分电脑上打开软件后点击发送图片按钮,然后选择要发送的图片后会出现 无响应提醒。猜测:可能是内存方面的问题。
求助:自己刚接触qt,对于内存方面的知识也是一知半解。希望大神能说说这个具体是什么原因呢?感激不尽!
下面是错误代码提示:
问题签名:
问题事件名称: APPCRASH
应用程序名: receive_image.exe
应用程序版本: 0.0.0.0
应用程序时间戳: 30303031
故障模块名称: receive_image.exe
故障模块版本: 0.0.0.0
故障模块时间戳: 30303031
异常代码: c0000005
异常偏移: 00001f05
OS 版本: 6.1.7601.2.1.0.256.1
区域设置 ID: 2052
其他信息 1: 0a9e
其他信息 2: 0a9e372d3b4ad19135b953a78882e789
其他信息 3: 0a9e
其他信息 4: 0a9e372d3b4ad19135b953a78882e789
解决方案
这个是代码出错了,出错的时候,直接用编译器跟踪调试,看上去是指针异常错误
解决方案二:
for(i = height*(width/1201+1);i > 0;i--)
{
QByteArray datagram;
datagram.resize(width+11);
for(j = width+12;j >= 0;j--)
{
datagram[j] = sendbuffer[i][j];
}
sender->writeDatagram(datagram.data(),datagram.size(),QHostAddress::Broadcast,1234);
delete[]senderbuffer[i];
}
delete[]senderbuffer;
请问我这样释放内存为何不行
解决方案三:
“receive_image.exe”(Win32): 已加载“C:WindowsSysWOW64msftedit.dll”。无法查找或打开 PDB 文件。
“receive_image.exe”(Win32): 已加载“C:WindowsSysWOW64msimg32.dll”。无法查找或打开 PDB 文件。
“receive_image.exe”(Win32): 已加载“C:WindowsSysWOW64xmllite.dll”。无法查找或打开 PDB 文件。
“receive_image.exe”(Win32): 已加载“C:WindowsSysWOW64wpdshext.dll”。无法查找或打开 PDB 文件。
“receive_image.exe”(Win32): 已加载“C:WindowsSysWOW64GdiPlus.dll”。无法查找或打开 PDB 文件。
“receive_image.exe”(Win32): 已加载“C:WindowsSysWOW64audiodev.dll”。无法查找或打开 PDB 文件。
“receive_image.exe”(Win32): 已加载“C:WindowsSysWOW64WMVCORE.DLL”。无法查找或打开 PDB 文件。
“receive_image.exe”(Win32): 已加载“C:WindowsSysWOW64WMASF.DLL”。无法查找或打开 PDB 文件。
“receive_image.exe”(Win32): 已卸载“C:WindowsSysWOW64msimg32.dll”
“receive_image.exe”(Win32): 已卸载“C:WindowsSysWOW64msftedit.dll”
“receive_image.exe”(Win32): 已卸载“C:WindowsSysWOW64xmllite.dll”
“receive_image.exe”(Win32): 已卸载“C:WindowsSysWOW64WMVCORE.DLL”
“receive_image.exe”(Win32): 已卸载“C:WindowsSysWOW64WMASF.DLL”
“receive_image.exe”(Win32): 已卸载“C:WindowsSysWOW64audiodev.dll”
“receive_image.exe”(Win32): 已卸载“C:WindowsSysWOW64GdiPlus.dll”
“receive_image.exe”(Win32): 已卸载“C:WindowsSysWOW64wpdshext.dll”
用vs2015调试的时候报的错误