2010-07-09 55 views
3

调试android应用程序的最佳方法是什么? 偶尔应用程序崩溃,它说应用程序已经意外停止,它从来不会说它为什么崩溃,或者在我的代码中的什么位置,找到崩溃原因和异常的下注方式是什么?Android调试?

回答

4

有几种方法可以做到这一点,激活LogCat,你会看到有关你的应用程序会发生什么的详细信息。

,否则您将实现一个错误处理发送异常信息的吐司

try { 
    ... 
    your code 
    ... 
} catch (IOException e) { 
    Toast.makeText(getApplicationContext(), "Exception Info " +  e.getCause(),Toast.LENGTH_LONG).show(); 
    e.printStackTrace(); 
}  

更新

+4

这很糟糕。如果你不打算以某种有意义的方式处理它,你应该真的让异常使应用程序崩溃。 – ognian 2010-07-09 17:39:10

+1

嗨ognian,我认为有时候会更好地向用户显示错误消息,而不是显示丑陋的消息“应用程序意外停止”并强制关闭整个应用程序=( – Jorgesys 2010-07-09 17:53:41

+0

)将不完整的e.getMessage()显示给对话框应该解释出了什么问题,而不是提供堆栈跟踪,另外,这种方法存在安全问题,你不知道该消息是什么,我的SQL查询和数据库模式暴露了这种方式:P – CodeFusionMobile 2010-07-09 20:37:18

4

如果您使用的是ADB,只需在调试模式下启动您的应用程序即可在运行时观看变量/表达式。 如果您的应用程序崩溃,您还可以在IDE的Logcat窗口中看到堆栈跟踪。

+0

您可以在窗口> show view> other上找到logcat窗口,然后搜索logcat。 – Entrodus 2011-06-24 14:22:17

0

使用Android的Log类,和logcat的,例如:

Log.d (“你的应用名称”,“x的值是:”+ x);

并在日志输出你会得到这样的:

d /你的应用程序名称(1001):x的值是:96

你可以在命令行中记录输出通过运行:“adb logcat”或使用Dalvik调试监视器(ddms在Android SDK的工具目录中)

使用日志优于使用Toasts,因为Toast很快就会消失,logcat会向您显示大量信息在应用程序崩溃时(如文件名和行号导致未处理的异常)

0

您还可以通过android的DDMS工具捕获日志。 只需在cmd中键入DDMS,它将显示一个GUI,其中包含运行日志和更多用于调试的内容。