使用 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)来解决该问题,但没有成功。
有人可以建议一个解决方案来解决这个问题吗?
如果您想对库中的函数进行高质量源代码级调试(在您的情况下为
printf
),您需要该库的调试版本(在您的情况下为glibc
)。如果没有这样的构建,您通常可以在逐步执行代码时遵循源代码行,但无法检查局部变量。
通常,Linux 默认情况下不附带
glibc
的调试版本,因此您需要为您的发行版找到一个并安装它,或者构建您自己的版本。你可能不应该尝试调试 printf
除非你是 glibc
维护者之一。只需退出该函数并继续使用您自己的代码即可。
如果您确实想跟踪源代码行,您可以使用
set substitute-path
命令重新映射 gdb 中的路径,例如:
(gdb) set substitute-path build/glibc-Lcl20x /usr/src/glibc