Android Studio 2.2中的身份不明LLDB行为

问题描述:

因此,我刚更新到Android Studio 2.2,并且在我的设备上运行我的应用程序时遇到问题。现在看来发生的情况是,当我尝试调试我的应用程序时,现在有两个独立的调试器正在运行。其中一个是旧的Java调试器,另一个是我认为的LLDB调试器。Android Studio 2.2中的身份不明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之前,但是你可以去运行 - >编辑配置,并且从调试器窗格中,你可以设置调试类型为Java而不是自动。

这将禁用LLDB并将事情变回2.2之前的状态。但是,通过adb首次启动应用程序仍然会导致启动屏幕停留一段时间。