作者asail0712 (emeth)
看板C_and_CPP
标题[问题] delete物件时 错在dbgheap.c 第2072行 O.o?
时间Sat Dec 5 00:59:50 2009
遇到的问题 :
程式中有段在对多型的物件作delete时,会有机率性当在dbgheap.c的2072行
堆叠的错误讯息:
msvcr80d.dll!_CrtIsValidHeapPointer(const void * pUserData=0x0ef72640) 行 2072 C++
msvcr80d.dll!_free_dbg_nolock(void * pUserData=0x0ef72640, int nBlockUse=1) 行 1279 + 0x9 位元组 C++
msvcr80d.dll!_free_dbg(void * pUserData=0x0ef72640, int nBlockUse=1) 行 1220 + 0xd 位元组 C++
程式的状态 :
删除的物件不是阵列 是单一物件
基底类别解构子是virtual function
属性设定中的 "执行阶段程式库" 是使用多执行绪侦错 DLL(/MDd)
依照程式逻辑与观察记忆体位址的状态 物件并没有被重复delete
希望跑出的结果:
当然是不会crash啦 >"<
请板上的大大帮忙解答 感恩<(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.11.145.183
※ 编辑: asail0712 来自: 124.11.145.183 (12/05 01:11)
※ 编辑: asail0712 来自: 124.11.145.183 (12/05 01:34)