看板 C_and_CPP 關於我們 聯絡資訊
如題 目前在用的一個小工具 裡面可以改一些設定 可是他並沒有內建debugger 只會在讀到錯誤的時候 顯示有錯誤 但不會告知你是哪一行設定寫錯 大家都寫程式 多少會遇過一些很腦憨的BUG (例如把o打成0之類的 囧) 那麼要怎樣去判斷跟讀取字串呢? debug算不好寫的程式嗎QQ? 會很複雜嗎 感謝 -- 如果我在簽名檔放說,我想認養長毛臘腸,這樣會違反板規嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.236.215
DigiPrince:秀出編譯時的錯誤應該是 compiler 的工作吧? 05/05 01:52
DigiPrince:debugger 是像 gdb 可以即時看執行中的變數那種... 05/05 01:53
DigiPrince:那種怎麼想都不可能好寫到哪去的 = =" 05/05 01:54
loveflames:你講的不是debugger吧 05/05 04:19
loveflames:要對底層很熟才寫得出debugger 05/05 04:22
敘述不太好 不是debugger 應該是顯示出錯誤的那個東西 就是1F說的compiler吧XD 例如說i++; 我忘了; 她就會顯示XXX行有出錯 並解釋可能的錯誤 這是一般的compile會跑出來的訊息 我不用做到解釋錯誤 我只要找出哪一行可能有錯 因為設定檔中可能包含上千行的資料 用人肉去debug會死人 囧 舉個小例子 for(i=0;i<10;i++) a++; 這行 如果寫成 for ( i = 0 ; i < 10 ; i ++ ) a ++ ; compiler判斷還是正確 我想知道該怎樣適度的忽略空白部分 又,再者 一般的讀取字串的方法 是用空白隔開 如果全部連在一起可能就沒辦法把個別部分取出 如拆成 for i=0 i<10 i++ a++ 這幾個部分 則我就可以很輕易的debug看出是否有出錯 ※ 編輯: MoseHas 來自: 61.227.193.1 (05/05 06:48)
LPH66:你先仔細說明你要找的錯是哪一種錯 05/05 07:57
LPH66:不同的錯誤找的方法也不一樣 05/05 07:57
LPH66:由你的文章看來應該是想要找 syntax error 05/05 07:58
是syntax error沒錯 不過格式跟C有點像又不太像就是 舉例:[propertyA] == A && [propertyB] != B ||.... 依此類推 我們可以檢查property的名稱有沒有打錯 == 有沒有打成 = 恩...差不多就這樣吧 ※ 編輯: MoseHas 來自: 61.227.193.1 (05/05 08:03)
VictorTom:要把前幾篇的lex / bison拿出來用了嗎XD 05/05 09:16
james732:我有用過一個「Gold Parser」也不錯用 05/05 10:38
akasan:是指lint這類的程式嗎, linux下有splint可用 05/05 10:56
akasan:不過沒用過就是了XD... 05/05 10:57
akasan:另外這類的錯誤gcc -Wall也可以幫你檢查一些 05/05 11:00
努力看懂lint是什麼東西中... 是個遊戲會用到程式 簡單來說就是外掛(遮臉) 現在煩惱的是不知道如何讀取資料 難道要一個字元一個字元去讀嗎 囧 遇到&&或者||的時候結束一個property的讀取 再去判斷這個property有沒有寫錯 恩...這是愚笨的我想到的最好方法QQ ※ 編輯: MoseHas 來自: 61.227.193.1 (05/05 19:41)
Dannvix:用 regexp 自己手動訂規則去檢查? 05/05 19:45
MoseHas:慘 都聽不懂 辜狗看看有沒有答案好了.. 05/05 20:35
akasan:重新看完整篇後發現還是前面推的lex & yacc比較符合你需求 05/05 22:35