Visual Studio 上的 GDB 代码试图从 non-existent 目录读取 headers
GDB on Visual Studio Code trying to read headers from a non-existent directory
我正在尝试使用来自 vscode 的 gdb 调试用 c++ 编写的程序。
当调试器从 header fstream
调用函数 ifstream()
时,无法找到 header 文件,因为 gdb 正在目录 /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/
,它不存在并导致错误的代码执行。
我已经通过在终端的 gdb 上使用命令 directory /usr/include/c++/10.2.0/
解决了这个问题,但是当我从 vscode.
使用 gdb 时,这似乎并没有解决问题
Error message from vscode
提前致谢。
终于,我解决了这个问题。
执行 gdb 时,它会在用户的主目录(Unix 系统)中查找名为 .gdbinit
的配置文件。要为 gdb 提供正确的 header 目录,只需在前面提到的文件上输入命令 source {your header's directory}
即可。
如果 Visual Studio 无法识别 c/c++ 函数,只需将 header 的位置放在 settings.json 文件中 ("C_Cpp.default.includePath": ["your header's directory"]
。
我正在尝试使用来自 vscode 的 gdb 调试用 c++ 编写的程序。
当调试器从 header fstream
调用函数 ifstream()
时,无法找到 header 文件,因为 gdb 正在目录 /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/
,它不存在并导致错误的代码执行。
我已经通过在终端的 gdb 上使用命令 directory /usr/include/c++/10.2.0/
解决了这个问题,但是当我从 vscode.
Error message from vscode
提前致谢。
终于,我解决了这个问题。
执行 gdb 时,它会在用户的主目录(Unix 系统)中查找名为 .gdbinit
的配置文件。要为 gdb 提供正确的 header 目录,只需在前面提到的文件上输入命令 source {your header's directory}
即可。
如果 Visual Studio 无法识别 c/c++ 函数,只需将 header 的位置放在 settings.json 文件中 ("C_Cpp.default.includePath": ["your header's directory"]
。