找不到printf.c文件

问题描述 投票:0回答:1

使用 VS Code 在 Linux 中调试我的代码时,调试器显示错误消息:

“无法打开编辑器,因为找不到文件。”

调试器正在以下位置搜索文件: 构建/glibc-Lcl20x/glibc-2.31/stdio-common/printf.c, 但经过调查,我发现该文件位于: usr/src/glibc/glibc-2.31/stdio-common/printf.c.

我尝试通过修改 launch.json 文件以提供正确的路径(usr/src/glibc/glibc-2.31/stdio-common/printf.c)来解决该问题,但没有成功。

有人可以建议一个解决方案来解决这个问题吗?

linux visual-studio-code
1个回答
0
投票

如果您想对库中的函数进行高质量源代码级调试(在您的情况下为

printf
),您需要该库的调试版本(在您的情况下为
glibc
)。如果没有这样的构建,您通常可以在逐步执行代码时遵循源代码行,但无法检查局部变量。

通常,Linux 默认情况下不附带

glibc
的调试版本,因此您需要为您的发行版找到一个并安装它,或者构建您自己的版本。你可能不应该尝试调试
printf
除非你是
glibc
维护者之一。只需退出该函数并继续使用您自己的代码即可。

如果您确实想跟踪源代码行,您可以使用

set substitute-path
命令重新映射 gdb 中的路径,例如:

(gdb) set substitute-path build/glibc-Lcl20x /usr/src/glibc
© www.soinside.com 2019 - 2024. All rights reserved.