调试Android应用程序崩溃 - 在logcat中没有信息,在连接时没有控制台中的信息

时间:2016-01-29 19:14:45

标签: android debugging crash logcat

Android Studio 1.5.1
compileSdkVersion 23

以下是发生的事情:

App附加到调试器。
我可以点击断点,逐步执行代码 我有异常记录到控制台。
我正在尝试显示一个对话框片段。

布局xml正确加载,我可以使用findbyid ...

访问UI元素

问题不在于这个问题的具体细节,更多的是为什么我似乎无法找到有关发生崩溃的任何有意义的信息?

我倾注了adb logcat的输出,并打开了控制台,记录了所有异常。

除了我的Android手机上显示的应用程序崩溃警报之外,似乎没有任何其他信息报告。

我已经搜索了,到目前为止我发现的所有内容都指向:

a。)使用设备在调试模式下运行(这样做)
b。)记录异常(这样做)
c。)检查logcat(这样做)

还有什么?我不得不遗漏一些东西。

2 个答案:

答案 0 :(得分:2)

崩溃有各种各样的形式(特别是当你谈论Android时)。因此,有很多方法可以检测/分析它们。

1)日志通常是首先要看的东西。但是,您需要确保它们已针对您的应用程序打开(生产应用程序通常已关闭日志),因此请确保它们的日志实际上已在logcat中打印,然后才会查找崩溃日志。

2)有时您无法访问日志或无法控制导致崩溃的组件。在这种情况下,Google Play商店中的崩溃报告可以帮助您找出问题所在。但是,该工具并不总是易于使用或可供您使用(自托管应用程序就是一个很好的例子)。对于这些情况,像Crashlytics这样的工具可以帮助您获取崩溃数据。

3)有些崩溃来自原生C ++代码,更难以查明。我发现Crashlytics和类似工具在处理这些工具时非常有帮助。

4)不要忘记,有时应用程序并没有真正崩溃,但是优雅地#34;由OS关闭,因为它占用了RAM。

答案 1 :(得分:2)

您可能尝试的一件事是设置未捕获的异常处理程序:

http://developer.android.com/reference/java/lang/Thread.UncaughtExceptionHandler.html

如果错误没有被困在这里,那么它就不会被抛出你认为被抛出的线程,或者错误发生在java异常处理机制的范围之外。