在 Android Studio 上调试本机和 java-app 时出错

Puf*_*ffy 5 java android native lldb android-studio

在开发 Android 应用程序时,我能够调试本机代码和托管代码。但是,一旦我在调试会话中断开电缆并在智能手机上手动关闭应用程序,它就会再次变得不可调试:

java.lang.Throwable: LLDB server not found
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:137)
    at com.android.tools.ndk.run.lldb.ConnectLLDBTask.newSessionStarter(ConnectLLDBTask.java:360)
    at com.android.tools.ndk.run.lldb.ConnectLLDBTask.access$200(ConnectLLDBTask.java:91)
    at com.android.tools.ndk.run.lldb.ConnectLLDBTask$3.createDebugProcess(ConnectLLDBTask.java:598)
    at com.jetbrains.cidr.execution.testing.CidrLauncher.startDebugProcess(CidrLauncher.java:29)
    at com.jetbrains.cidr.execution.CidrCommandLineState.startDebugProcess(CidrCommandLineState.java:30)
    at com.jetbrains.cidr.execution.CidrRunner$1.start(CidrRunner.java:63)
    at com.intellij.xdebugger.impl.XDebuggerManagerImpl.startSession(XDebuggerManagerImpl.java:205)
    at com.intellij.xdebugger.impl.XDebuggerManagerImpl.startSession(XDebuggerManagerImpl.java:166)
    at com.jetbrains.cidr.execution.CidrRunner.startDebugSession(CidrRunner.java:56)
    at com.android.tools.ndk.run.lldb.ConnectLLDBTask.launchCidrDebugger(ConnectLLDBTask.java:628)
    at com.android.tools.ndk.run.lldb.ConnectLLDBTask.launchDebugger(ConnectLLDBTask.java:296)
    at com.android.tools.idea.run.tasks.ConnectDebuggerTask.lambda$perform$0(ConnectDebuggerTask.java:90)
    at com.intellij.util.ui.UIUtil$12.run(UIUtil.java:3098)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
    at java.awt.EventQueue.access$500(EventQueue.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:715)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:755)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:704)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:391)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Run Code Online (Sandbox Code Playgroud)

之前的堆栈跟踪来自启动调试后的 Android Studio,它出现!在右下角。

然后,调试窗口中的结果是:

Now Launching Native Debug Session
Error while starting native debug session: com.intellij.execution.ExecutionException: Index: 0, Size: 0
Run Code Online (Sandbox Code Playgroud)

我现在无法调试!这发生在我身上,我可以通过以下步骤解决它:

  1. 关闭 Android Studio。
  2. 删除c:\Users\<USER>\{.android, .gradle, .AndroidStudio3.3}
  3. 删除<ProjectFolder>\{.gradle, .idea}
  4. 删除AppData中的tmp文件。
  5. 打开并重新调试应用程序。

我找到了一种更快的方法来暂时解决这个问题,删除两个目录:

  1. 关闭 Android Studio
  2. 删除c:\Users\<USER>\.lldb
  3. 删除c:\Users\<USER>\.AndroidStudio3.4\system\tmp\*
  4. 重新打开Android Studio
  5. 现在您应该能够再次调试

Qam*_*mar 4

我遇到了同样的异常Error while starting native debug session: com.intellij.execution.ExecutionException

那么以下对我有帮助。检查这是否可以帮助您...

在此输入图像描述

或开放运行配置
在此输入图像描述

然后检查这个...

在此输入图像描述