该应用程序在模拟器中运行良好,但在手机上安装后,每次启动时都会崩溃,并且 logcat 没有显示错误。
当这样的事情发生时,我该怎么办?
我的建议是更容易解决您的问题:
在电话上以调试模式从 Eclipse 运行应用程序。它将使其在调试模式下运行。您很可能会获得更多的调试输出。
打开调试模式(注意:这不是我们所指的“ADB 连接”),它将启用应用程序的进一步日志记录,并且不会正常进行垃圾收集。
(如果应用程序被迫在调试模式下工作,您会注意到“等待调试连接”对话框)。
例如:它使异步线程继续运行并且不会停止运行。粗鲁且与您的情况无关。但只是作为一个例子。
因此,由于手机中的应用程序被迫在调试模式下运行,它会将带有详细错误的 logcat 获取到特定线程。
但是,当它与来自 Eclipse的“Debug As”运行配置结合使用时,调试模式会更好地使用。请记住,它将自动打开该调试应用程序模式(还有对话框),logcat 将向您显示更多详细信息,并且它将在发生的错误处断点,按照发生的顺序。
关于阿瑞斯所说的, 当你想直接对一个进程进行调试时,
附加提示:
在华为手机上,如果手机处于默认系统设置,logcat 不会显示调试消息和异常。
为了在华为手机上启用 logcat full log,您必须执行以下操作:
*#*#2846579#*#*
导航到项目菜单/后台设置/日志设置
在旧手机上:定义日志可用性(日志切换)和级别(日志级别设置)。
安装一个像AndroidSystemInfo这样的工具,它可以在手机上显示日志文件——即使你远离主机。
Android没有留下任何痕迹是很不寻常的。
您的应用程序是否可能需要手机没有的功能(例如相机、gps 或 nfc)?
在 Eclipse 中,您应该转到 DDMS,然后单击Devices
面板中的设备名称或 android.os。并将您的设备置于调试模式。
放置您自己的日志来跟踪导致崩溃的代码块,或者只是调试它。
我重新启动了我的模拟器并清理了我的构建。这消除了我遇到的非日志记录和虚假崩溃