[問題] 使用 debugger 的好處?

看板C_and_CPP作者 (larkes)時間10年前 (2013/09/21 09:40), 編輯推噓8(8020)
留言28則, 17人參與, 最新討論串1/1
請問一下, 用額外的debug tool(例如:可以設置breakpoint的除錯器)來幫程式debug, 跟直接在程式碼裡面加printf(...)去做debug, 這兩者比起來, 用debug tool的好處在哪裡呢? 什麼情況下用debug tool會比較適合呢? 還麻煩指教一下,謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.180.84.119

09/21 09:46, , 1F
不用一直重新 compile 插 printf/debug code
09/21 09:46, 1F

09/21 09:48, , 2F
backtrace 也是非 debugger 較難取得的資訊
09/21 09:48, 2F

09/21 10:15, , 3F
如果一次就把所有的printf加進去,應該也不用重新compile吧?
09/21 10:15, 3F

09/21 10:32, , 4F
問題就在於,你怎麼會知道你加的位置是對的呢?
09/21 10:32, 4F

09/21 10:54, , 5F
不嫌麻煩和難看的話 用printf當然也沒什麼關係
09/21 10:54, 5F

09/21 10:54, , 6F
這種事等你親自用過就會懂了
09/21 10:54, 6F

09/21 10:58, , 7F
debugger 還可以設定 watchpoint,printf 就比較難了
09/21 10:58, 7F

09/21 11:01, , 8F
當你拿到 exe/dll 兩份 proj,修改 dll proj 時,難不成你要
09/21 11:01, 8F

09/21 11:01, , 9F
連 exe proj. 一起用 printf 做 watch ?
09/21 11:01, 9F

09/21 11:26, , 10F
資料有一萬筆的話你用printf打算跑幾萬年?
09/21 11:26, 10F

09/21 11:31, , 11F
還有寫gui程式還要另外開console當logger = ="
09/21 11:31, 11F

09/21 11:35, , 12F
如果你解決 bug 只需要印些變數內容,那你就繼續用 printf
09/21 11:35, 12F

09/21 11:58, , 13F
大概只有要看某個變數連續變化過程printf才比較適合吧
09/21 11:58, 13F

09/21 15:21, , 14F
Debug Hacks除錯駭客:極致除錯的技巧與工具 參考看看
09/21 15:21, 14F

09/21 18:45, , 15F
用過就知道它的好
09/21 18:45, 15F

09/21 21:51, , 16F
不會在客戶那裡直接裝開發工具然後改 code 吧 XD
09/21 21:51, 16F

09/21 22:37, , 17F
天堂與地獄的差別,但是進入天堂要花錢就是了
09/21 22:37, 17F

09/21 23:30, , 18F
請問有人可以舉實際的例子嗎? 有點不知道 debugger的
09/21 23:30, 18F

09/21 23:30, , 19F
實際使用情形
09/21 23:30, 19F

09/21 23:42, , 20F

09/21 23:43, , 21F
debugger 功能多得像山,要找例子你看它的說明書比較快
09/21 23:43, 21F

09/22 00:19, , 22F
gdb免費XD
09/22 00:19, 22F

09/22 00:20, , 23F
舉實例? 為何不自己用用看就知道...
09/22 00:20, 23F

09/22 17:18, , 24F
我也想知道XD
09/22 17:18, 24F

09/23 16:10, , 25F
碰到multithread加上race condition的bug,加上printf,bug就不
09/23 16:10, 25F

09/23 16:10, , 26F
見了~
09/23 16:10, 26F

09/23 16:11, , 27F
拿到別人現成的部分code,也不用自己一行一行printf
09/23 16:11, 27F

09/26 02:48, , 28F
謝謝各位的指教^^
09/26 02:48, 28F
文章代碼(AID): #1IFFZyNv (C_and_CPP)