请问这是哪里泄漏呢?请大神指教,先谢谢了!
这是线程函数,如果这个函数代码为空的时候,没有出问题,所以就是这个函数的代码出问题。下面的 “.Empty()"是后加的,加不加都是一样的错误提示。
下面是程序结束后显示的提示:
Detected memory leaks!
Dumping objects ->
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {6474} normal block at 0x003C1598, 20 bytes long.
Data: <x 3 > 78 C5 33 10 03 00 00 00 03 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {6473} normal block at 0x003CFAD0, 37 bytes long.
Data: <x 3 > 78 C5 33 10 14 00 00 00 14 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {6472} normal block at 0x003B4E88, 31 bytes long.
Data: <x 3 > 78 C5 33 10 0E 00 00 00 0E 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {6471} normal block at 0x003BBB18, 37 bytes long.
Data: <x 3 > 78 C5 33 10 14 00 00 00 14 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\inet.cpp(618) : {6470} client block at 0x003F78F0, subtype c0, 80 bytes long.
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - a CHttpFile object at $003F78F0, 80 bytes long
UINT ReadWebFile(LPVOID pParam)
{
// ------------------------------读网络内容
CInternetSession session;
CString url = "http://115.159.63.120/mysoft/20150809.txt";
try
{
CHttpFile* pFile = (CHttpFile*)session.OpenURL(url,1,INTERNET_FLAG_TRANSFER_ASCII | INTERNET_FLAG_RELOAD, NULL, 0);
DWORD dwRet;
int row;
CString str;
CString outText[20];
for (int i = 0; i < 20; i++)
outText[i].Empty();
int outTextRow = 0;
pFile->QueryInfoStatusCode(dwRet);
switch (dwRet)
{
case 200:
do
{
row = pFile->ReadString(str);
outText[outTextRow] = str;
outTextRow++;
str.Empty();
} while (row>0);
if (outText[0] == "stop")
{
AfxMessageBox("本软件已停止运行,请下载最新版!");
exit(0);
}
g_GM.m_OKTest.m_nErrorLinkWeb=-1;
pFile->Close();
for (int i = 0; i < 20; i++)
outText[i].Empty();
break;
default:
g_GM.m_OKTest.m_nErrorLinkWeb++;
}
}
catch (CInternetException* pEx)
{
pEx->Delete();
g_GM.m_OKTest.m_nErrorLinkWeb++;
}
session.Close();
}
return 0;
}下面是程序结束后显示的提示:
Detected memory leaks!
Dumping objects ->
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {6474} normal block at 0x003C1598, 20 bytes long.
Data: <x 3 > 78 C5 33 10 03 00 00 00 03 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {6473} normal block at 0x003CFAD0, 37 bytes long.
Data: <x 3 > 78 C5 33 10 14 00 00 00 14 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {6472} normal block at 0x003B4E88, 31 bytes long.
Data: <x 3 > 78 C5 33 10 0E 00 00 00 0E 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {6471} normal block at 0x003BBB18, 37 bytes long.
Data: <x 3 > 78 C5 33 10 14 00 00 00 14 00 00 00 01 00 00 00
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\inet.cpp(618) : {6470} client block at 0x003F78F0, subtype c0, 80 bytes long.
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dumpcont.cpp(23) : atlTraceGeneral - a CHttpFile object at $003F78F0, 80 bytes long
...全文
相关推荐
如何排查Java内存泄漏?看完我给跪了!
Java内存管理是一个复杂而微妙的主题,尤其是当涉及到内存泄漏时。Java的自动垃圾回收机制虽然在大多数情况下工作得很好,但并不能完全防止内存泄漏的发生。
详解SpringCloudGateway内存泄漏问题
什么是内存泄漏?内存泄漏是指在程序中,动态分配的内存空间没有被释放,导致内存的浪费和应用程序的性能下降。3. 什么是堆外内存?
windows下检测内存泄漏的脚本,先安装windbg x64
windows下检测内存泄漏的脚本,先安装windbg x64
电子宠物 问题很多请指教
在C#方面,可能出现的问题包括内存泄漏、线程安全问题、性能优化不足等。例如,如果未正确管理对象生命周期,可能导致内存占用过高,影响游戏运行效率。
C++内存泄漏检测原理+代码
首先,我们需要理解什么是内存泄漏。在C++中,程序员需要手动分配和释放内存。当动态分配的内存不再使用但没有被正确释放时,就会发生内存泄漏。


