作者tcm2006 (叶子绿)
看板EE_DSnP
标题[问题] 无法产生过大的array
时间Fri Nov 25 00:39:56 2011
是这样的,输入:
mtr 100000
mtn 300 -a 2059
在gdb下会出现
memTest: malloc.c:4636: _int_malloc: Assertion
`victim->fd_nextsize->bk_nextsize == victim' failed.
用gdb一直up上去,错误出在
_activeBlock = new MemBlock<T>(_activeBlock, _blockSize);
但检查_blockSize和_activeBlock,前者正确,後者也不是0
最令我困惑的是,输入:
mtr 100000
mtn 100 -a 2059
并不会产生错误
所以问题应该和array的数量有关
可是程式码中实在想不出哪里会限制数量(查过vector的容量很大)
能请同学或老师给我一点提示或建议吗?谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.248.197
1F:推 kickpp:感觉是在说malloc错了耶 你有用到这个喔...? 11/25 00:59
2F:→ kickpp:我的两个都不会有error所以应该不是array大小问题 11/25 01:00
3F:推 ric2k1:根据 google 大神的说法,有可能是在某处 invalid write, 11/25 01:11
4F:→ ric2k1:但也有可能你把一些程式关掉重 run 就好了... 11/25 01:12