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

WSL调试Busybox时GDB无法找到glibc的resolv/ns_parse.c调试符号

解决GDB无法找到glibc中./resolv/ns_parse.c源码的问题

libc6-dbg仅提供glibc的调试符号,不包含实际的源码文件,GDB需要对应版本的glibc源码才能定位到ns_parse.c的代码行。按以下步骤操作:

1. 确认当前系统的glibc版本

执行命令查看系统使用的glibc版本:

ldd --version

或者直接查看libc库的版本信息:

/lib/x86_64-linux-gnu/libc.so.6

记下输出中的版本号(比如2.35-0ubuntu3.1)。

2. 下载对应版本的glibc源码

使用apt下载匹配版本的glibc源码包:

apt source libc6

执行后会在当前目录生成glibc的源码目录(比如glibc-2.35)。

3. 让GDB关联源码路径

有两种方式让GDB找到ns_parse.c:

临时设置(仅当前GDB会话生效)

在GDB中执行以下命令,将调试符号中记录的./resolv路径替换为实际源码中的resolv目录路径:

set substitute-path ./resolv /path/to/glibc-source/resolv

例如,如果源码在/tmp/glibc-2.35,则命令为:

set substitute-path ./resolv /tmp/glibc-2.35/resolv

永久设置(所有GDB会话生效)

编辑用户目录下的.gdbinit文件(如果不存在则创建),添加上述set substitute-path命令:

echo 'set substitute-path ./resolv /path/to/glibc-source/resolv' >> ~/.gdbinit

完成后重新启动GDB,再次单步进入ns_initparse时,就能定位到ns_parse.c的源码行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:45:31