You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Android Studio至3.1.2后无法调试C++代码求助

Android Studio 3.1.2升级后无法调试应用,进程以exit code 0结束

我把Android Studio升级到3.1.2版本后,调试应用时遇到了棘手的问题——每次尝试启动调试,模拟器/设备上会弹出提示(图片如下),同时错误日志里抛出了Execution finished com.intellij.execution.ExecutionException相关异常,最后进程直接以exit code 0结束,完全没法正常进入调试流程。

错误日志详情:

Execution finished com.intellij.execution.ExecutionException: Execution finished 
at com.jetbrains.cidr.execution.ExecutionResult.get(ExecutionResult.java:38) 
at com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriver.getProtobufClient(LLDBDriver.java:90) 
at com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriver.executeConsoleCommand(LLDBDriver.java:1109) 
at com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriver.executeConsoleCommand(LLDBDriver.java:1103) 
at com.android.tools.ndk.run.lldb.AndroidLLDBDriver.loadStartupScripts(AndroidLLDBDriver.java:321) 
at com.android.tools.ndk.run.lldb.AndroidLLDBDriver.commonLoad(AndroidLLDBDriver.java:132) 
at com.android.tools.ndk.run.lldb.AndroidLLDBDriver.loadForAttach(AndroidLLDBDriver.java:248) 
at com.android.tools.ndk.run.AndroidNativeAppDebugProcess.prepareTarget(AndroidNativeAppDebugProcess.java:101) 
at com.android.tools.ndk.run.AndroidNativeDebugProcessImpl.doLoadTarget(AndroidNativeDebugProcessImpl.java:123) 
at com.jetbrains.cidr.execution.debugger.CidrDebugProcess.lambda$start$0(CidrDebugProcess.java:314) 
at com.jetbrains.cidr.execution.debugger.CidrDebugProcess$MyCommandProcessor.consume(CidrDebugProcess.java:703) 
at com.jetbrains.cidr.execution.debugger.CidrDebugProcess$MyCommandProcessor.consume(CidrDebugProcess.java:693) 
at com.intellij.util.concurrency.QueueProcessor.lambda$null$0(QueueProcessor.java:93) 
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:246) 
at com.intellij.util.concurrency.QueueProcessor.lambda$wrappingProcessor$1(QueueProcessor.java:93) 
at com.intellij.util.concurrency.QueueProcessor.lambda$null$3(QueueProcessor.java:226) 
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:246) 
at com.intellij.util.concurrency.QueueProcessor.lambda$startProcessing$4(QueueProcessor.java:226) 
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:315) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 
Caused by: com.intellij.execution.ExecutionFinishedException: Execution finished 
at com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriver$4.processTerminated(LLDBDriver.java:248) 
at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at com.intellij.execution.process.ProcessHandler$5.invoke(ProcessHandler.java:239) 
at com.sun.proxy.$Proxy16.processTerminated(Unknown Source) 
at com.intellij.execution.process.ProcessHandler$4.run(ProcessHandler.java:196) 
at com.intellij.execution.process.ProcessHandler$TasksRunner.execute(ProcessHandler.java:272) 
at com.intellij.execution.process.ProcessHandler.notifyTerminated(ProcessHandler.java:177) 
at com.intellij.execution.process.ProcessHandler.notifyProcessTerminated(ProcessHandler.java:173) 
at com.intellij.execution.process.BaseOSProcessHandler.onOSProcessTerminated(BaseOSProcessHandler.java:192) 
at com.intellij.execution.process.OSProcessHandler.onOSProcessTerminated(OSProcessHandler.java:89) 
at com.intellij.execution.process.BaseOSProcessHandler$2$1.consume(BaseOSProcessHandler.java:155) 
at com.intellij.execution.process.BaseOSProcessHandler$2$1.consume(BaseOSProcessHandler.java:140) 
at com.intellij.execution.process.ProcessWaitFor$1.run(ProcessWaitFor.java:66) 
... 5 more 

设备上的调试提示图片

有没有朋友能帮忙解决这个调试问题?


解决方案

我之前碰到过几乎一模一样的问题,试了几个方法后解决了,你可以逐一尝试:

  • 清理缓存并重启Android Studio
    点击菜单栏的 File → Invalidate Caches / Restart,选择Invalidate and Restart选项。升级后缓存不一致是常见问题,清理后重启往往能解决很多奇怪的bug。

  • 检查NDK版本兼容性
    Android Studio 3.1.2对NDK版本有特定要求,建议打开File → Project Structure → SDK Location查看当前NDK版本。如果是较旧的版本,尝试更新到r17c(这个版本和AS 3.1.x系列适配性很好);如果已经是对应版本,删除本地.ndk文件夹后重新下载完整NDK包。

  • 重新配置调试器设置
    打开Run/Debug Configurations,找到你的调试配置,切换到Debugger标签页,把Debug type设置为Auto或者明确选择Native(如果你的应用包含Native代码),保存配置后再尝试调试。

  • 重置设备/模拟器的调试状态
    确保真机开启了USB调试模式,模拟器使用的是最新的系统镜像。可以尝试重启设备/模拟器,然后重新连接到Android Studio,再启动调试。

  • 替换LLDB版本
    有时候AS自带的LLDB版本会有兼容性问题,你可以手动替换成稳定版本:

    1. 找到AS安装目录下的lldb/3.1文件夹
    2. 下载对应版本的稳定LLDB包(比如3.1.1版本)
    3. 替换原文件夹内容后重启AS

如果以上方法都无效,建议创建一个全新的测试项目,看看能不能正常调试——以此判断是项目本身的配置问题,还是Android Studio的全局设置问题。

内容的提问来源于stack exchange,提问作者VISHNU NEELANCHERI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:51:24