PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] doulbe free or corruoption
作者:
xanushan
(騰夜)
2016-06-16 16:20:16
請教一下各位大大,修改程式的時候發生 doulbe free or corruoption的問題,該如何
解決
環境rat hat 4 / gcc 34
##手機發文排版不佳,請見諒。
程式碼簡化,短網址如下:
http://codepad.org/STcOU5QB
作者:
Hazukashiine
(私は幸せです)
2016-06-16 16:26:00
for (exp1; exp2; exp3) { stat; }從這段 code 看不到 double free 除非有水晶球吧?還有為什麼會 free 一個不是指標型態的變數啊 QQ
作者:
xanushan
(騰夜)
2016-06-16 16:33:00
已更正. 打太快打錯…
作者:
bibo9901
(function(){})()
2016-06-16 16:35:00
因為你在write data 迴圈條件用 j, 但裡面用 k ?
作者:
Hazukashiine
(私は幸せです)
2016-06-16 16:35:00
---> float a; free(a); <---
作者:
xanushan
(騰夜)
2016-06-16 16:44:00
抱歉讓大家傷眼了…已更正…所以不能重複free嗎…如果會重複malloc 的話新的網址如右:
http://codepad.org/iFWO7Kt8
編譯有過,但跑出double free ....
作者:
bibo9901
(function(){})()
2016-06-16 17:03:00
你a,b,c還是沒初始化啊
作者:
xanushan
(騰夜)
2016-06-16 17:09:00
sor…更正了…都給NULL…結果一樣…
http://codepad.org/az35g2cV
還是錯不在這 …因為我只有改if裡的code而己
作者: yvb
2016-06-16 17:20:00
為什麼 free(b); 後卻設 a=NULL; 而不是設 b=NULL; ??
作者:
xanushan
(騰夜)
2016-06-16 17:25:00
打錯…改好了…QQ
http://codepad.org/STcOU5QB
錯誤結果一樣…剛剛發現把第二個ball[j].counter2換成其他變數就沒有錯誤了…有大大能解答嗎…(malloc)
作者: yvb
2016-06-16 17:59:00
那就是你未貼出的部分, 存取越界把heap搞壞, 所以free()報錯.比方你ball的宣告長什麼樣,或是如何取得ball的空間.以及 a b c 的存取動作.沒看到錯不代表沒錯,可能只是剛好沒動到free()時,檢查的部分.
作者: phishingphi (hsnutontu)
2016-06-16 21:17:00
可以考慮用valgrind之類的tool
作者:
steve1012
(steve)
2016-06-18 05:23:00
用tool 直接看哪裡free
繼續閱讀
Re: [問題] static inline的使用時機
EdisonX
[問題] Socket連線問題
peilin0407
[問題] static inline的使用時機
wtchen
[問題] 詢問程式問題
kinkipikachu
[問題] 請問MFC元件位置跑掉的問題
ohnotme
[問題] 精準的Sleep function
eleghost
[問題] BCB Form起始位置該怎麼設
a7878779
[問題] opencv 畫出橢圓
wadevs14161
[分享] Tutorialspoint 線上編譯
noodleT
[問題] 小弟要進行個一小時實作,C,可能題目是?
dreamy0720
Links
booklink
Contact Us: admin [ a t ] ucptt.com