gpt4 book ai didi

Android Studio 中缺少调试信息的 Android 应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:55 24 4
gpt4 key购买 nike

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

screenshot

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

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

最佳答案

有一些事情要检查:

  • 如果您的应用程序调试器在正常断点处运行并停止,也许您必须设置一个异常断点:
    • 打开调试器
    • 按“查看断点”
    • 通常,应该有一个名为“Any exception”的断点,并带有“Caught exception”和“Unchaught exception”复选框。如果不是,请自己添加一个异常断点并指定您希望调试器停止的异常类型(您可以在异常类名中使用通配符,例如 *Exception)。
  • 如果您的应用程序调试器无法正常工作,请检查以下选项:

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

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

注意:即使异常断点起作用,它们也可能根本没有用,这取决于崩溃的类型。大多数时候,调试器会在 Zygote 异常处理程序中停止,您不会在其中获得很多有用的信息或堆栈跟踪。在这种情况下,最简单的方法是让调试器在没有调试器的情况下恢复或重现崩溃,并在应用程序 logcat 输出的 ERROR 日志级别检查 logcat 输出中的堆栈跟踪。这些堆栈跟踪应该有可点击的行信息,这样您就可以在应用源代码中的相关代码行上设置一个正常的断点来分析问题。

关于Android Studio 中缺少调试信息的 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27120492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com