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

mga*_*lgs 7 debugging android android-studio

我正在尝试调试我正在使用Android Studio编写的应用程序,但我似乎无法从Android Studio的"调试"视图中获取任何有用的调试信息.我正在使用看起来很糟糕的"Debug"图标启动我的应用程序,但是"Debug"视图没有任何有用的东西(例如,我的应用程序没有堆栈帧):

截图

即使我的应用程序崩溃,我也没有得到任何有用的信息.我记得,ADT插件会自动让你掉线导致崩溃.

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

arn*_*ans 5

有一些事情需要检查:

  • 如果您的app-debugger正在运行并在正常断点处停止,则可能必须设置异常断点:
    • 打开调试器
    • 按"查看断点"
    • 通常,应该有一个名为"Any exception"的断点,其中包含"Caught exception"和"Unchaught exception"复选框.如果没有,请自行添加异常断点并指定希望调试器停止的异常类型(可以在异常类名中使用通配符,例如*Exception).
  • 如果您的app-debugger不工作,请检查以下选项:

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

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

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


mga*_*lgs 0

更新 Android studio 后这个问题就消失了。不确定问题是什么。