作者dreamboat66 (小嫩)
看板C_and_CPP
标题[问题] 堆积损毁 找不出问题出在哪
时间Sun Apr 19 02:53:34 2009
我delete 掉一个我new出来的空间时
他会触发一个 错误
讯息是下面这样...
========================================================================
Windows 已触发 X.exe 内的中断点。
可能是因为堆积损毁,表示 X.exe 内有错误或其载入的任
何 DLL 内有错误。
也有可能是因为 X.exe 取得焦点时使用者按下 F12。
输出视窗或许有较多的诊断资料。
========================================================================
停在
free.c的
#endif /* _WIN64 */
{
retval = HeapFree(_crtheap, 0, pBlock); <=========这行...
如果按继续
他就会出现
expression:_CrtIsValidHeapPointer~~
google一下 说是delete到 一个根本没new东西的指标
可是我应该都有new阿 @@
我测试这个delete 没new的指标
是停在_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));
问题应该不是出在这@@
我trace了好久的时间
我对这指标指到的结构 没有做任何更动
程式突然发现会出现这个错误 之前delete这指标都没有事情........
想请教问题大概出在哪里??
请经验丰富的版友可否提供我一些线索...
本来想说是程式结束才会坏 乾脆算了 但实在很想找出问题@@
谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.130.67
※ 编辑: dreamboat66 来自: 220.136.130.67 (04/19 03:05)
※ 编辑: dreamboat66 来自: 220.136.130.67 (04/19 03:10)
1F:→ james732:把程式码贴出来看看吧? 04/19 03:14
2F:→ dreamboat66:因为程式很大很大 我只是改别人的~ 没办法贴 04/19 03:20
3F:→ dreamboat66:从google找到的资料都怪怪的..... 04/19 03:20
4F:→ dreamboat66:而我刚刚竟然重建专案 问题就不再出现...很诡异 04/19 03:21
5F:→ dreamboat66:是跟dll有关系吗? 04/19 03:21
6F:推 LiloHuang:dll里面配置的就要在dll里面归还 04/19 06:32
7F:→ dreamboat66:可是我完全没有自己去作dl只是用该用的dll而已@@ 04/19 13:57