debug 總是學到很多

debug 總是學到很多

從 Javor 那學到不少經驗...

Javor 發現一個錯誤

https://sourceforge.net/mailarchive/forum.php?thread_name=8e45d0591001050245y7616a5c4nbb780c1e7ae93c89%40mail.gmail.com&forum_name=partclone-user

從 message 看來是 double free...

於是我開始找有關 double free 問題的起因,但是怎麼看都找不出來

所以嘗試用一些工具 mtrace !

這真是個好東西,加上 mtrace() 就會把所有 memory 使用情形回報回來,就可以看到所有的address

另外也發現 add2line 也是個好物,利用剛剛 mtrace 出來的 address 可以找到程式碼出處(/usr/bin/mtrace)就是這樣做的!

另外,也很容易找到其他工具例如dmalloc 與 memwatch,中文有非常豐富的解說...

以上,沒有解決問題。只是提供線索而已...XD

Javor 很快的找到問題,我的程式裏面多跑了一圈,造成溢位,所以umount_ntfs就出錯了!

reference: http://itzone.hk/article/index.php?tid=24

convert from Thomas blog post id 627 old convert log: ./170941/tag%3E2010%2001)

@2010 @01

Comments