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信号后:
我不知道是否有任何其他相关信息,我可以给有关情况的,因为我不知道什么是继续。请告诉我,如果这看起来像你以前见过的东西,并需要一些额外的信息。
所以我找不到为什么LLDB让我等了一分钟左右,但我发现完全禁用LLDB的地方。我不知道它是否在Android Studio 2.2之前,但是你可以去运行 - >编辑配置,并且从调试器窗格中,你可以设置调试类型为Java而不是自动。
这将禁用LLDB并将事情变回2.2之前的状态。但是,通过adb首次启动应用程序仍然会导致启动屏幕停留一段时间。