android - Android Studio 2.2 中未识别的 LLDB 行为

标签 android debugging android-studio lldb

所以我刚刚更新到 Android Studio 2.2,但在我的设备上运行我的应用程序时遇到了问题。似乎发生的情况是,当我尝试调试我的应用程序时,现在有两个单独的调试器在运行。其中之一是很好的旧 Java 调试器,另一个是我认为是 LLDB 调试器。

我的应用程序有一个启动画面,显示为应用程序中的第一个 Activity。之前发生的事情是启动画面只会在实际介绍屏幕出现前大约 1 秒显示。在我将我的 Android Studio 更新到 2.2 版后,启动画面消失大约需要一分钟。

我在 SplashScreenActivity.onCreate() 中设置了一个断点,以查看是否一切正常。在我启动该应用程序后,它会等待一段时间,然后 LLDB 调试器会停止并发出 SIGURG 信号。我点击恢复程序,它再次点击相同的信号。这种情况发生了 7-8 次,之后我在 SplashScreenActivity.onCreate() 中的断点被 Java 调试器命中。在此之后,该应用程序将继续正常运行。

我不知道它是否有帮助,但 LLDB 调试器的控制台是这样的:

09/26 00:19:32: Launching app
No apk changes detected since last installation, skipping installation of D:\Documents\SourceTree\autocolorsplash-android\app\build\outputs\apk\app-debug.apk
$ adb shell am force-stop com.kayimapps.autocolorsplash_android
$ adb shell am start -n "com.kayimapps.autocolorsplash_android/com.kayimapps.autocolorsplash_android.activities.SplashScreenActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: com.kayimapps.autocolorsplash_android | com.kayimapps.autocolorsplash_android.test
Waiting for application to come online: com.kayimapps.autocolorsplash_android | com.kayimapps.autocolorsplash_android.test
Connecting to com.kayimapps.autocolorsplash_android
Now Launching Native Debug Session
Starting LLDB server: /data/data/com.kayimapps.autocolorsplash_android/lldb/bin/start_lldb_server.sh /data/data/com.kayimapps.autocolorsplash_android/lldb unix-abstract /data/data/com.kayimapps.autocolorsplash_android/lldb/tmp platform-1474838375380.sock "lldb process:gdb-remote packets"
Debugger attached to process 927
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)

除了一些编译的 OpenCV 代码外,我没有在我的应用程序中使用任何 C++,我根本没有接触过这些代码。我只使用 OpenCV 的 Java 包装器。

调试器框架在第一个 SIGURG 信号后看起来像这样:

debug frame debug frame

我不知道是否有任何其他相关信息可以提供有关情况的信息,因为我不知道发生了什么。如果这看起来像您以前见过的东西并且需要一些额外信息,请务必告诉我。

最佳答案

所以我找不到为什么 LLDB 让我等了大约一分钟,但我找到了在哪里可以完全禁用 LLDB。我不知道它是否在 Android Studio 2.2 之前存在,但您可以转到“运行”->“编辑配置”,然后从“调试器” Pane 中将“调试类型”设置为 Java 而不是“自动”。

这会禁用 LLDB 并将其恢复到 2.2 之前的状态。然而,首次通过 adb 启动应用程序仍然会导致启动画面停留一段时间。

关于android - Android Studio 2.2 中未识别的 LLDB 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39692055/

相关文章:

android - Firebase Cloud Messaging (FCM) 不止一行

ASP.NET 应用程序针对 NHibernate 抛出 "unable to find assembly"错误

iOS 应用程序在调试/发布/临时模式下工作,但从 App Store 下载时不工作

visual-studio - 在 Visual Studio 的调试器中跳出循环

android-studio - Android Studio “cannot resolve symbol R” 但项目编译并运行

android - android中的滑动抽屉布局问题

android - 在 android 中使用什么布局来生成数据输入表单

android - 如何隐藏 ActionBar 中的 ChromeCast MediaRoute MenuItem?

android - 看不到 Nexus 6P 进行调试

Android Studio NDK : Compile with ndk-build and get native support with Gradle Experimental