You need to enable JavaScript to run this app. Ubuntu系统VScode调试C程序无法打开read.c文件错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu系统VScode调试C程序无法打开read.c文件错误如何解决

这个报错是调试过程中单步进入glibc库函数时,VSCode找不到对应glibc源码文件导致的,可按以下两种方案修复:

方案1:无需调试glibc源码(推荐普通用户使用)

绝大多数场景下我们只需要调试自己写的业务代码,不需要查看glibc内部实现,直接配置gdb跳过系统库函数的单步追踪即可,不需要额外安装依赖:

  • 打开launch.json配置文件,在setupCommands数组中新增如下配置项:
{
    "description": "Skip glibc functions during stepping",
    "text": "skip /build/glibc-*",
    "ignoreFailures": true
}
  • 日常调试时如果不需要进入函数内部,使用「步过(step over)」代替「步入(step in)」操作,也可以避免触发该报错。
方案2:需要查看glibc源码的修复流程

如果你确实需要调试glibc内部逻辑,按以下步骤操作即可:

第一步:安装glibc源码和调试符号

打开终端依次执行以下命令:

# 启用系统的源码软件源
sudo sed -i '/^#\s*deb-src/s/^# //' /etc/apt/sources.list
# 更新软件源索引
sudo apt update
# 安装glibc源码、调试符号包
sudo apt install glibc-source libc6-dbg
# 解压源码到对应路径
sudo tar xf /usr/src/glibc.tar.xz -C /usr/src/

第二步:修正sourceFileMap路径匹配

你当前launch.json中配置的源码映射前缀是/build/glibc-YYA7BZ,和报错提示里的glibc构建路径前缀/build/glibc-eX1tMB不一致,修改sourceFileMap配置即可:

"sourceFileMap": {
    "/build/glibc-eX1tMB": "/usr/src/glibc"
}
额外配置修正

你当前的配置还存在两处不匹配的问题,建议同步修正避免后续调试出错:

  • launch.json中program字段配置为${workspaceFolder}/a.out,但tasks.json里的编译任务生成的可执行文件路径为${fileDirname}/${fileBasenameNoExtension},两者要保持一致。
  • launch.json中preLaunchTask字段配置为C/C++: g++ build active file,但你tasks.json里的构建任务都是gcc版本,需要修改为对应你使用的构建任务的label值,比如默认的C/C++: gcc-9 build active file。

内容的提问来源于stack exchange,提问作者Mariam A.Fathy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 05:33:02