c++ - Visual Studio Code 上的 GDB 尝试从不存在的目录中读取标头
问题描述
我正在尝试使用来自 vscode 的 gdb 调试用 c++ 编写的程序。
当调试器从头文件中调用函数ifstream()
时fstream
,找不到头文件,因为gdb在目录中寻找头文件,该目录/build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/
不存在,导致代码执行错误。我已经通过directory /usr/include/c++/10.2.0/
从终端使用 gdb 上的命令解决了这个问题,但是当我从 vscode 使用 gdb 时,这似乎并没有解决问题。
提前致谢。
解决方案
最后,我解决了这个问题。.gdbinit
当 gdb 被执行时,它会在用户的主目录(Unix 系统)上寻找一个配置文件。要为 gdb 提供正确的标头目录,只需将命令source {your header's directory}
放在前面提到的文件上即可。
如果 Visual Studio 无法识别 c/c++ 函数,只需将标头的位置放在您的 settings.json 文件 ( "C_Cpp.default.includePath": ["your header's directory"]
.
推荐阅读
- python - 我在 Python 中运行 IDL 代码,或者只是运行代码
- mysql - MYSQL SELECT - 无法从连接表中选择匹配的字符串
- linux - 什么是makefile执行顺序
- c++ - 编译 GCC 时我得到配置:错误:无法计算目标文件的后缀:无法编译有关详细信息,请参阅“config.log”错误
- javascript - 如何按嵌套数组中的日期对数组进行排序
- java - get(url) 加载 url 然后重新路由?
- matlab - Matlab2018b actxserver 与 word.application word2016
- r - 如果条件满足,则在下一行中分配值,并保持其他值相同
- html - 一行取决于 XML 或 XSLT 中的 ether/或/and 条件
- wireguard - 在linux pc中使用移动热点的连接问题