[問題] 大家都怎麼debug?

看板AndroidDev作者 (里長伯)時間12年前 (2011/08/06 00:45), 編輯推噓11(11044)
留言55則, 9人參與, 最新討論串1/1
最近剛接觸android 寫了一個簡單的程式~但是模擬的時候就出現錯誤 想問一下要怎麼除錯呢? 之前除錯都是把變數的值慢慢印出來 不然就是用visual裡的F10和F11功能慢慢看變數當下的值 android好像不能用上面這兩種方法?還是說可以只是我不會用? 新手多多包含!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.56.182.46

08/06 01:00, , 1F
logcat
08/06 01:00, 1F

08/06 01:16, , 2F
不知道有什麼辦法強迫大家看開發者網站
08/06 01:16, 2F

08/06 01:31, , 3F
不是不看~那網站裡面東西真的好多不知從何看起==
08/06 01:31, 3F

08/06 01:33, , 5F
我有看到log.d(String tag,String msg)~但就是不懂這做啥
08/06 01:33, 5F

08/06 01:34, , 6F
要有耐心啊。有份教學我斷斷續續看了一年才看懂5成。。
08/06 01:34, 6F

08/06 01:35, , 7F
樓上很謝謝你!~我跑去官網找都看不懂
08/06 01:35, 7F

08/06 01:42, , 9F
上面這份我有在看!!不過只看到中階(1)的Dialog= =
08/06 01:42, 9F

08/06 01:46, , 10F
如果你已經會建立開發環境了,看完核心念就不要管什麼階了
08/06 01:46, 10F

08/06 07:49, , 11F
可以print在console吧~原本java system.out.print
08/06 07:49, 11F

08/06 07:50, , 12F
就可以用啦~我是懶到連logcat都不想查怎麼用那種人啦
08/06 07:50, 12F

08/06 07:51, , 13F
反正東西最後會動就好了~
08/06 07:51, 13F

08/06 08:02, , 14F
Eclipse +Android SDK, sysout 跟 log.d 其實差不多 XD
08/06 08:02, 14F

08/06 08:03, , 15F
都在logcat裡看, log.d 直接分類也好用
08/06 08:03, 15F

08/06 08:04, , 16F
有些立即或多次循環的訊息, 也可以寫UI秀出來.
08/06 08:04, 16F

08/06 10:24, , 17F
從introduction開始看起
08/06 10:24, 17F

08/06 10:31, , 18F
System.out 只會出現在 logcat 裡啊。。
08/06 10:31, 18F

08/06 10:31, , 19F
不過我覺得有個困擾是,我用Eclipse常常會不知為啥
08/06 10:31, 19F

08/06 10:32, , 20F
console本來正常可以顯示log但突然就似乎壞掉沒辦法顯
08/06 10:32, 20F

08/06 10:32, , 21F
示,這樣要debug變得超麻煩的
08/06 10:32, 21F

08/06 10:47, , 22F
adb kill-server後重新啟動,或者設備拔掉,通常會恢復
08/06 10:47, 22F

08/06 10:49, , 23F
logcat不會用,那要怎麼看systm.out.print出去的?
08/06 10:49, 23F

08/06 12:01, , 24F
說到console,我就想到我把它當c#想印出來!發現無法XD
08/06 12:01, 24F

08/06 12:02, , 25F
也正在摸java語法~很多都慢慢學!不過會用看變數值的方法
08/06 12:02, 25F

08/06 12:03, , 26F
其他方法等等來試看看~工具不嫌多只嫌少XD!上面幾位感謝
08/06 12:03, 26F

08/06 12:05, , 27F
印出來就是 logcat 啊...
08/06 12:05, 27F

08/06 13:07, , 28F
用Log.v或Log.d應該都可以吧?
08/06 13:07, 28F

08/06 13:11, , 29F
就是不懂那個再幹嘛,囧~等等po一下我的白痴程式碼
08/06 13:11, 29F

08/06 13:16, , 30F
http://codepad.org/QyFEzIqB重點再39和40行
08/06 13:16, 30F

08/06 13:17, , 31F
目前還是用看變數值的方法除錯!
08/06 13:17, 31F

08/06 13:46, , 32F
Log.d(tag,""+a) 這樣就達到跟39行一樣的功能:輸出a的值
08/06 13:46, 32F

08/06 16:01, , 33F
Log.d(TAG, msg); TAG是這個訊息的標籤,適當的TAG對於過濾
08/06 16:01, 33F

08/06 16:02, , 34F
及分類訊息有很大的幫助,msg就是你要印的訊息
08/06 16:02, 34F

08/06 16:02, , 35F
在eclipse中你可以透過filter去過濾特定TAG的訊息
08/06 16:02, 35F

08/06 16:03, , 36F
也可以在shell中打logcat -s TAG 印出特定TAG的訊息
08/06 16:03, 36F

08/06 19:25, , 37F
我想問一下~第39行會再哪邊顯示阿?還有log也在哪顯示?
08/06 19:25, 37F

08/06 19:28, , 38F
是在LogCat裡顯示?但是LogCat會顯示一堆有的沒的
08/06 19:28, 38F

08/06 19:29, , 39F
請問樓上的shell是什麼?
08/06 19:29, 39F

08/06 19:32, , 40F
我這邊有畫一個gui~放一個TextView顯示str這字串的東西
08/06 19:32, 40F

08/06 20:55, , 41F
Logcat可以讓你指定filter,只顯示符合條件的訊息
08/06 20:55, 41F

08/06 20:55, , 42F
配合Log.d的第一個參數,讓你抓出你自己程式顯示的東西
08/06 20:55, 42F

08/06 22:19, , 43F
請大大看一下http://ppt.cc/NBXz這邊我還沒filter時
08/06 22:19, 43F

08/06 22:21, , 44F
logcat有一堆東西~接著我filter後,logcat卻什麼都沒有
08/06 22:21, 44F

08/06 22:22, , 45F
http://ppt.cc/2ge7請問有地方錯了嗎!?
08/06 22:22, 45F

08/06 22:23, , 46F
你的filter是根據什麼?
08/06 22:23, 46F

08/06 22:25, , 47F
第二張圖片那個@@ 我用TAGa去做篩選
08/06 22:25, 47F

08/06 22:26, , 48F
你把TAGa的內容貼上去試試
08/06 22:26, 48F

08/06 22:28, , 49F
我試看看!!
08/06 22:28, 49F

08/06 22:32, , 50F
重跑一次~logcat變全白的!!我在試一下==
08/06 22:32, 50F

08/06 22:38, , 51F
logcat有東西了!不過我打TAGa裡的東西塞選還是白的!
08/06 22:38, 51F

08/06 22:40, , 52F
http://codepad.org/Ox4IyJ87程式碼再左邊~第19'38'39行
08/06 22:40, 52F

08/06 23:09, , 53F
目前這個不急~想說星期一回學校問老師看看!
08/06 23:09, 53F

08/06 23:09, , 54F
jam大謝謝囉~一直回答我問題(雖然還是不懂XD)
08/06 23:09, 54F

08/06 23:13, , 55F
不用客氣,最後還是沒解決你的問題
08/06 23:13, 55F
文章代碼(AID): #1EF1uHYE (AndroidDev)
文章代碼(AID): #1EF1uHYE (AndroidDev)