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

VSCode调试器无故停在无断点处,如何排查清理隐形断点?

解决VSCode附加调试C++时的隐形断点问题

1. 清理VSCode的断点缓存与配置

  • 打开工作区的.vscode文件夹,检查launch.json,如果里面有breakpoints字段,直接删除该字段下的所有内容。
  • 关闭VSCode,找到对应工作区的缓存目录:
    • Windows:进入%APPDATA%\Code\User\workspaceStorage,找到当前工作区对应的文件夹,删除其中的breakpoints.json
    • macOS:进入~/Library/Application Support/Code/User/workspaceStorage,同样删除对应工作区的breakpoints.json
    • Linux:进入~/.config/Code/User/workspaceStorage,删除对应文件
  • 重启VSCode,重新加载工作区。

2. 通过调试控制台直接管理调试器断点

因为你用的是Python C++ Debugger扩展,底层是GDB或LLDB,直接在调试控制台输入命令:

  • 当调试器停在隐形断点时,输入info breakpoints(GDB)或breakpoint list(LLDB),会列出所有存在的断点,包括编辑器里看不到的隐形断点,每个断点会有编号和位置信息。
  • 找到要删除的断点编号,输入delete <编号>(GDB)或breakpoint delete <编号>(LLDB)单独删除;要是想清空所有断点,直接输入delete(GDB)或breakpoint delete(LLDB)即可。

3. 重置调试配置与排查扩展干扰

  • 备份当前.vscode/launch.json的内容,然后删除该文件,重新生成一个干净的附加调试配置。
  • 禁用VSCode里除Python C++ Debugger外的其他扩展,重启后再调试,排查是否是其他扩展导致的断点异常。

4. 确认停止原因是否为断点

有时候调试器停下可能是因为程序触发了信号(比如段错误),而非断点:

  • 当调试器停下时,查看调试控制台的停止原因提示,若显示是信号触发,可在launch.json的附加配置里添加"handleSIGSEGV": false(针对段错误信号)之类的配置,忽略不必要的信号中断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:44:59