2011-01-11 56 views
2

在使用Android SDK和IDE插件的Eclipse上,當我使用SecurityException調試應用程序時,我只能在日誌中看到異常本身,但IDE從不告訴我它的細節。例如,logcat的可能有:使用Eclipse和Android時,IDE永遠不會顯示異常的值

01-10 17:03:35.959: ERROR/System(58): java.lang.SecurityException 
01-10 17:03:35.959: ERROR/System(58):  at android.os.BinderProxy.transact(Native Method) 
01-10 17:03:35.959: ERROR/System(58):  at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146) 
01-10 17:03:35.959: ERROR/System(58):  at android.os.ServiceManager.addService(ServiceManager.java:72) 
01-10 17:03:35.959: ERROR/System(58):  at com.android.server.ServerThread.run(SystemServer.java:184) 

但是在這個輸出沒有你在哪裏看到(1)什麼線在我的代碼導致拋出:SecurityException,或(2)異常的詳細信息 - 特別是缺少什麼權限。我相信這應該在detailMessage上。

在IDE的調試器中,一個線程被RuntimeException掛起,並且這些變量包含另一個NullPointerException,這與記錄的SecurityException看似無關。

如何讓Eclipse/Android SDK停止導致實際導致SecurityException的代碼被拋出,以及如何訪問該異常的詳細信息?我在Eclipse中錯過了一些顯而易見的東西嗎?

回答

1

您是否嘗試添加Java異常斷點?

在Debug透視圖中,將「Breakpoints」視圖置於頂部,單擊「J!」圖標並輸入「SecurityException」。這應該在拋出異常的確切點上打開調試器。

0

切換到DDMS視圖,你可以看到LogCat。

你嘗試使用try/catch塊自己處理異常嗎?

+0

我剛剛發佈的輸出來自LogCat。 – 2011-01-11 00:34:13