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

Android Studio中缺少调试信息的Android应用程序,android,debugging,android-studio,Android,Debugging,Android Studio,我正在尝试调试我正在使用Android Studio编写的应用程序,但我似乎无法从Android Studio的“调试”视图中获得任何有用的调试信息。我在启动我的应用程序时使用了看起来像bug的“Debug”图标,但“Debug”视图没有任何有用的内容(例如,我的应用程序中没有堆栈帧): 即使我的应用程序崩溃,我也得不到任何有用的信息。我记得,ADT插件会自动将您放到导致崩溃的线路上 我还需要做些什么来让我的应用程序在Android Studio中“可调试”吗?我还尝试在我的AndroidMa

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

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


我还需要做些什么来让我的应用程序在Android Studio中“可调试”吗?我还尝试在我的AndroidManifest.xml中强制执行
android:debuggable=“true”
,但没有效果。Android Studio似乎正在连接到正在运行的进程(应用程序在首次启动时会显示“attaching to debugger”(连接到调试器)消息几秒钟)。

有一些事情需要检查:

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

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

      buildTypes {
          debug {
              debuggable true
          }
          ...
      }
      
  • 如果应用程序调试器仍不工作,请重新启动计算机并为设备重新安装adb驱动程序。确保在连接多个设备时(可能一次只连接一个设备),没有冲突驱动程序处于活动状态
注意:即使异常断点正常工作,根据崩溃的类型,它们也可能毫无用处。大多数情况下,调试器会在Zygote异常处理程序中停止,而您不会获得太多有用的信息或堆栈跟踪。
在这种情况下,最简单的方法是让调试器在没有调试器的情况下恢复或再现崩溃,并在应用程序的logcat输出的错误loglevel中检查logcat输出是否有stacktrace。这些StackTrace应该有可点击的行信息,这样您就可以在应用程序源代码中的相关代码行上设置一个正常断点来分析问题。

更新Android studio后,这个问题消失了。不确定问题出在哪里。

断开手机连接,然后重新连接。。。你可以看到logcat…或者另一种方法是重新打开你的logcat视图…我实际上可以看到logcat很好,我只是看不到程序堆栈帧,当应用程序崩溃时,我没有得到任何信息…我遇到了同样的问题,如果你不确定答案是什么,你不应该标记你的答案:D。。。