【问题标题】:Android application lacking debug information in Android StudioAndroid 应用程序在 Android Studio 中缺少调试信息
【发布时间】:2016-05-03 02:19:31
【问题描述】:

我正在尝试调试我正在使用 Android Studio 编写的应用程序,但我似乎无法从 Android Studio 的“调试”视图中获得任何有用的调试信息。我正在使用看起来像错误的“调试”图标启动我的应用程序,但“调试”视图没有任何有用的东西(例如,我的应用程序没有堆栈帧):

即使我的应用程序崩溃了,我也得不到任何有用的信息。我记得,ADT 插件会自动将您放到导致崩溃的线路上。

我是否需要做任何其他事情才能使我的应用程序在 Android Studio 中“可调试”?我也尝试在我的 AndroidManifest.xml 中强制 android:debuggable="true" 但无济于事。 Android Studio 似乎确实正在附加到正在运行的进程(该应用在首次启动时会显示“附加到调试器”消息几秒钟)。

【问题讨论】:

  • 断开您的手机并重新连接...您将能够看到 logcat...或者另一种方法是重新打开您的 Logcat 视图...。
  • 我实际上可以看到 logcat 很好,我只是看不到程序堆栈帧,并且当应用程序崩溃时我没有得到任何信息......

标签: android debugging android-studio


【解决方案1】:

有一些事情需要检查:

  • 如果您的应用程序调试器在正常断点处工作并停止,您可能需要设置异常断点:
    • 打开调试器
    • 按“查看断点”
    • 通常,应该有一个名为“任何异常”的断点,并带有“捕获异常”和“未捕获异常”复选框。如果没有,请自行添加异常断点并指定您希望调试器停止的异常类型(您可以在异常类名中使用通配符,例如 *Exception)。
  • 如果您的应用调试器不工作,请检查以下选项:

    • 检查您是否在设备的开发者选项中启用了 USB 调试
    • 检查你是否在设备的开发者选项中将电脑授权为开发机器(如果不确定,请从开发者选项页面清除授权列表并重新连接设备)
    • 检查您的开发机器是否只有一个 adb-server-process 在后台运行(如果有更多,请使用进程管理器将它们全部杀死并使用“adb start-server”重新启动)
    • 在 build.gradle 中为你的 debug-buildType 添加“debuggable true”:

      buildTypes {
          debug {
              debuggable true
          }
          ...
      }
      
  • 如果您的应用程序调试器仍然无法正常工作,请重新启动计算机并为您的设备重新安装 adb-drivers。确保没有与多个连接的设备(可能一次只连接一个)存在冲突的驱动程序。

注意:即使您让异常断点工作,它们也可能根本没有用,具体取决于崩溃的类型。大多数情况下,调试器会在 Zygote-exception 处理程序中停止,您不会获得太多有用的信息或堆栈跟踪。 在这种情况下,最简单的方法是让调试器恢复或在没有调试器的情况下重现崩溃,并检查 logcat-output 以获取应用程序 logcat-output 的 ERROR-loglevel 中的堆栈跟踪。这些堆栈跟踪应该具有可点击的行信息,从而使您能够在应用源代码中的相关代码行上设置正常断点以分析问题。

【讨论】:

    【解决方案2】:

    更新 Android Studio 后,这个问题就消失了。不知道是什么问题。

    【讨论】:

    • 我遇到了同样的问题,如果您不确定答案是什么,则不应标记答案:D ...
    猜你喜欢
    • 2023-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 2016-03-08
    相关资源
    最近更新 更多