11

该应用程序在模拟器中运行良好,但在手机上安装后,每次启动时都会崩溃,并且 logcat 没有显示错误。

当这样的事情发生时,我该怎么办?

4

7 回答 7

13

我的建议是更容易解决您的问题:

在电话上以调试模式从 Eclipse 运行应用程序。它将使其在调试模式下运行。您很可能会获得更多的调试输出。

  1. 打开手机中的亚行。
  2. 将手机连接到 PC
  3. 从 Eclipse 中作为“调试配置”运行。
  4. 它应该从您的手机上运行,​​Eclipse 会在运行之前第一次询问您的选择。

打开调试模式(注意:这不是我们所指的“ADB 连接”),它将启用应用程序的进一步日志记录,并且不会正常进行垃圾收集。

(如果应用程序被迫在调试模式下工作,您会注意到“等待调试连接”对话框)。

例如:它使异步线程继续运行并且不会停止运行。粗鲁且与您的情况无关。但只是作为一个例子。

因此,由于手机中的应用程序被迫在调试模式下运行,它会将带有详细错误的 logcat 获取到特定线程。

但是,当它与来自 Eclipse的“Debug As”运行配置结合使用时,调试模式会更好地使用。请记住,它将自动打开该调试应用程序模式(还有对话框),logcat 将向您显示更多详细信息,并且它将在发生的错误处断点,按照发生的顺序。


关于阿瑞斯所说的, 当你想直接对一个进程进行调试时,

  1. 您可以转到 Eclipse 中的 DDMS 面板,
  2. 在右侧选项卡菜单Devices上,
  3. 选择要调试的进程。并单击绿色符号(说,开始调试过程)
  4. 如果您在该 Eclipse 工作空间中有源代码,它将在中断时自动转到源代码。
于 2012-05-03T13:04:39.767 回答
5

附加提示:

在华为手机上,如果手机处于默认系统设置,logcat 不会显示调试消息和异常。

为了在华为手机上启用 logcat full log,您必须执行以下操作:

  • 通过拨号打开出厂设置菜单*#*#2846579#*#*
  • 导航到项目菜单/后台设置/日志设置

  • 在旧手机上:定义日志可用性(日志切换)和级别(日志级别设置)。

  • 在从未使用过的手机上:勾选 AP 日志(这似乎通常启用应用程序日志记录)和 CP 日志(似乎启用调试日志记录)
  • 使用后退按钮关闭菜单(无需重新启动)

来源:https ://stackoverflow.com/a/18395092/1075072

于 2016-12-04T16:30:10.267 回答
1

安装一个像AndroidSystemInfo这样的工具,它可以在手机上显示日志文件——即使你远离主机。

Android没有留下任何痕迹是很不寻常的。

您的应用程序是否可能需要手机没有的功能(例如相机、gps 或 nfc)?

于 2012-05-03T13:08:00.347 回答
1

在 Eclipse 中,您应该转到 DDMS,然后单击Devices面板中的设备名称或 android.os。并将您的设备置于调试模式。

于 2012-05-03T13:20:48.453 回答
0
  1. 您可以重置 adb(在设备 -> 查看菜单 -> 重置 adb)
  2. 点击选中的在线设备/模拟器,显示logcat
  3. 断开电缆并重新连接。(或者重启模拟器)
  4. 重启 Eclipse
于 2015-03-25T10:23:56.977 回答
0

放置您自己的日志来跟踪导致崩溃的代码块,或者只是调试它。

于 2012-05-03T13:01:56.070 回答
0

我重新启动了我的模拟器并清理了我的构建。这消除了我遇到的非日志记录和虚假崩溃

于 2016-02-12T05:02:33.977 回答