手机重启后可以获取logcat日志吗?

Sco*_*ers 21 android reboot logcat

我正在测试一个具有长期运行服务的Android应用程序.我正在使用Eclipse,并将usb线连接在我旁边的手机上.由于这是一项长期持续的服务,我在运行时做了一些其他工作,并且每隔一段时间检查一次logcat日志,以确保一切按预期进行.

几分钟前我注意到手机重启了.我认为它之前已经完成了,因为它可以解释一些奇怪的应用程序行为.我很快切换到Eclipse,看看发生了什么,发现logcat日志(似乎)在重启过程中被清除了.所以没有记录我的应用程序是否崩溃(并取下电话?!)或是否有其他问题导致手机和我的应用程序崩溃.

无论如何我能找出发生了什么?这是一款开发手机,所以我不知道它是经常自行重启/崩溃,还是仅在我的应用运行时才重新启动/崩溃.这是摩托罗拉Droid运行固件版本2.1-update1.

谢谢你的帮助.

eld*_*his 17

我不知道有什么方法可以做到这一点.但是,你可以在启动的logcat adbadb logcat -v time > logcat.txt,然后再次运行你的应用程序.如果它再次崩溃,那么您可以查看机器上的输出logcat.txt.

  • 请注意,文件写入是缓冲的,因此重新启动之前的最后一个单词可能无法刷新到文件中. (2认同)
  • @eldarerathis:你猜对了:) - 我用过它几次,事实证明它很有用。顺便说一句 - 运行“adb shell logcat -f file.txt”可能比仅使用 shell 进行管道更好(在缓冲意义上),但这实际上只是一个猜测。 (2认同)
  • 我能够捕获崩溃,日志中的这一行:`08-12 11:22:50.568 E/mdm_panicd(1002):调制解调器已重置,重新启动系统!`谢谢!这有帮助。 (2认同)

ada*_*amk 12

您可以使用adb bugreport,其中应包含有关虚假重启的一些信息 - 例如,内核崩溃,最后一个logcat条目等.

但请注意:此工具会输出大量信息,因此您必须深入挖掘才能找到所需信息.

  • 哇.这给了我20,000多行.我确信这是很好的信息,虽然我不知道该怎么做! (2认同)
  • @Scott:我首先在你的应用程序的包 ID、日志标签等中搜索,看看是否有任何与你的应用程序相关的内容。 (2认同)