我有一个包含一些 C/C++ 代码的项目,我需要调试它们。
当我在代码中添加一行断点并启动调试器时,调试器总是在某些系统 C++ 代码处挂起,如下图所示。这意味着我必须点击[恢复程序]按钮数十次才能到达实际需要挂起的位置。 调试器在系统代码处暂停
当我单击我添加的断点行时,显示此处有一个符号断点并导致调试器暂停代码执行。但我之前没有添加符号断点! 自动添加符号断点
因此,我删除了符号断点,但它在此调试会话中不起作用,调试器仍将始终在某些系统 C++ 代码处挂起!一旦我重新启动调试器,我删除的符号断点就被添加回来了!我还是要点击【恢复程序】按钮几十次
这真的很困扰我,在这种情况下我无法调试代码。
我尝试过的:
我已经重启手机,重新安装应用,失效并重启AndroidStudio,重启电脑。
从直接单击“调试”按钮切换到使用“附加调试器到进程”。
删除自动添加的符号断点并添加自定义符号断点。
以上操作无效。我希望我可以删除这个断点并正常使用调试器。
关于我的手机: 电话信息
关于我的电脑: 计算机信息
关于我的AndroidStudio:
Android Studio Hedgehog | 2023.1.1 Patch 2
Build #AI-231.9392.1.2311.11330709, built on January 19, 2024
Runtime version: 17.0.7+0-17.0.7b1000.6-10550314 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 13.6
GC: G1 Young Generation, G1 Old Generation
Memory: 12288M
Cores: 10
Metal Rendering is ON
Registry:
external.system.auto.import.disabled=true
debugger.new.tool.window.layout=true
ide.text.editor.with.preview.show.floating.toolbar=false
ide.instant.shutdown=false
performance.watcher.unresponsive.interval.ms=1000
vcs.log.index.git=false
ide.experimental.ui=true
我遇到了类似的问题,没有记录断点,但是当我开始调试时,它会自动命中 libart.so 中的符号断点。我尝试删除该项目,但没有成功。我刚刚通过重新安装 NDK 解决了该问题。我希望这对你有帮助。