作者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