作者mouse0411 (mouse)
看板C_and_CPP
標題Re: [問題] 錯誤的意思?
時間Fri May 8 13:00:25 2009
※ 引述《mouse0411 (mouse)》之銘言:
: 請問大大們
: 我寫了一個程式
: 這個程式的最外面包了一個for,來跑多次一點
: for跑第一次的時候沒問題
: 到了跑一萬次的時候也沒問題
: 可是當跑到十幾萬次的時候突下出現
: Unhandled exception in capasity_sum_test.exe: 0xC0000005: Access violation
: 我也查過這段的意思
: 好像是說如果我沒有配記憶体給這個參數,就把值給此參數,的錯誤
: 但是實際上我的確有配
: 而且前面跑了那麼多次都ok
: 所以小弟覺得是不是因為記憶体用完的關係?????
: 請大大們指教~謝謝
因為程式滿大的,所以po不太上來
不過我剛剛debug的時候發現
我在其中的一個function裡面有動態配置一段記憶体給"pcbu"
跑前幾次時,"pcbu"都有配到位址
但是差不多跑到十幾萬次時,"pcbu"的位址變成"0x0000000"
感覺好像沒配到位址了???
ps.每次loop時,我有記得free掉
謝謝指教~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.124.42.3
1F:→ VictorTom:這時候, 請愛用assert() debug, 就不用攔debug攔這麼累. 05/08 13:06
2F:→ VictorTom:如果你每次迴圈都有還, 但是每次迴圈都會越要越大.... 05/08 13:06
3F:→ VictorTom:也有可能是要超過系統能給你的了; free的位置也確認一下 05/08 13:07
4F:推 Ebergies:也可能根本是其他地方的陣列 index 算爆掉了 05/08 13:48
5F:→ adrianshum:該不會是記憶體太 fragmented, 找不到連續的一段給你吧 05/08 14:22
6F:→ MOONRAKER:我覺得是哪裡有memory leak自己沒發現 |D 05/08 14:35