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

使用GDB附加运行中进程失败,提示read.c文件不存在

解决GDB附加进程时提示read.c缺失及附加失效问题

澄清:GDB其实已经成功附加

你看到的../sysdeps/unix/sysv/linux/read.c: No such file or directory只是源码文件找不到的提示,并非附加失败。验证方法:

  • 在GDB提示符下输入info proc,如果能显示进程信息,说明已经附加成功;
  • 输入continue,进程会继续运行,也能证明附加状态正常。

解决libc源码缺失问题(消除read.c报错)

1. 修复sources.list的deb-src源

编辑sudo nano /etc/apt/sources.list,确保添加对应Ubuntu版本的deb-src源(以20.04为例):

deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse

保存后执行:

sudo apt update

2. 安装libc6源码包

执行命令安装:

sudo apt install libc6-source

源码会被下载到/usr/src/glibc目录下。

3. 配置GDB自动加载源码路径

编辑~/.gdbinit文件(没有就创建),添加一行:

set directories /usr/src/glibc/sysdeps/unix/sysv/linux/

这样每次启动GDB都会自动识别libc的源码路径,不会再出现read.c找不到的提示。

关于pwntools/pwndbg无法使用的问题

只要GDB成功附加进程(通过info proc验证),pwntools/pwndbg就能正常工作。之前的失效误解是被read.c的报错信息干扰,解决源码问题后即可恢复正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 21:35:05