作者autoexecbat (<(^_^)@m)
看板C_and_CPP
標題[建議] Debug C
時間Sat Jun 10 22:53:51 2006
建議板上的各位,
或許很多人已經知道,
你要是發現你的程式執行後有問題!
請自己先動手Debug!
就是可以利用C的程式碼,
植入裡面要檢查的那一小段,
打
1 你想要show什麼參數出來檢查.
2 while(1);
將程式停在那裡,
你就可以知道相關變數對不對,
如果不對,
就追朔既往,
一步一步往前查,
我都是從比較沒問題的前面開始查,
然後一步一步往後查,
就知道問題在哪裡?
不要嫌麻煩,
查久了,
你會發現你寫程式的功力大增,
不需要靠別人也能完成事情.
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.42.40
1F:推 blueshiang:同同意 這樣你還能比較了解這程式是怎麼跑的 06/10 23:00
2F:推 drkkimo:說的不錯~M~~起來:) 06/10 23:05
3F:→ drkkimo:我覺得至少有時候一小段錯誤訊息也沒有很難的英文單字 自 06/10 23:06
4F:→ drkkimo:已看一下的話 可以增加很多效率~ 06/10 23:06
5F:→ drkkimo:不過原PO是說用DEGUG..反正試著自已找問題能力會增加的ꨠ 06/10 23:07
6F:推 cole945:不過用while(1);來debug似乎怪怪的.__." 06/10 23:26
7F:→ cole945:可以用設中斷點(breakpoint)配合逐行執行效果會更好 :> 06/10 23:27
8F:推 autoexecbat:有些編譯器或有些環境,不太容許你有軟體除錯器, 06/11 01:30
9F:→ autoexecbat:你必須要想辦法解決問題! 06/11 01:30
10F:→ autoexecbat:譬如某需燒錄IC, debug C的軟體除錯工具很貴, 06/11 01:31
11F:→ autoexecbat:你就不能用軟體除錯工具來設中斷點,必須寫程式設中斷! 06/11 01:32
12F:推 autoexecbat:你如果持續這樣做,不斷找問題能力增加,寫程式前的 06/11 01:35
13F:→ autoexecbat:分析能力也會變強,因為重複出現的問題!你就會提防! 06/11 01:35
14F:推 ledia:燒 IC 也不會讓你 while(1) 吧 O_o 06/11 01:55
15F:推 autoexecbat:你在while(1)之前,想辦法把資料丟出來就可以啦! 06/11 03:01
16F:→ autoexecbat:程式寫while(1),燒進去就是如果執行到那就會停下來! 06/11 03:02
17F:推 holio:何不gdb? 06/11 04:15
18F:→ holio:喔沒事 我沒把推文看仔細XD 06/11 04:16
19F:推 cplusplus:哈哈哈 while(1); 我會用來測試acm程式 XD 06/12 12:10
20F:推 autoexecbat:Debug的方式有很多種,目的就是要看跑到那裡的資料是 06/13 15:13
21F:→ autoexecbat:怎樣? 06/13 15:14