解决 VSCode 下使用 gdb 调试 C++ 出现的问题
 
			1.问题复现
如下图所示,这是调试时出现的问题:
从图中可以发现,在进行单步调试时,先进入ostream,但是失败了,因为它找的是错误的路径,这个路径/usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include根本不存在。
2.解决办法
配置~/.gdbinit文件即可。
| 1 | nano ~/.gdbinit | 
加入下面的内容:
| 1 | set directories /usr/include/c++/14.2.1 | 
然后就解决了,效果如下:
3.说明
- set directories /usr/include/c++/14.2.1:
 这个命令告诉 GDB 在- /usr/include/c++/14.2.1目录下搜索头文件。这个目录通常是系统上安装的 C++ 标准库头文件的位置。当你请求 GDB 显示源代码或者 GDB 需要查找源代码以进行调试时,它会首先查看这个目录。
- set substitute-path /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include /usr/include/c++/14.2.1:
 这个命令是一个路径替换指令,它将 GDB 查找源代码时遇到的一个路径映射到另一个路径。具体来说,当 GDB 尝试在- /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include目录下查找文件时,它会将其重定向到- /usr/include/c++/14.2.1目录。这通常用于解决源代码和编译后的二进制文件不在同一位置的问题,或者当你想要 GDB 从不同的位置加载源代码时。
- Title: 解决 VSCode 下使用 gdb 调试 C++ 出现的问题
- Author: loskyertt
- Created at : 2024-11-13 20:43:01
- Updated at : 2025-02-17 04:36:55
- Link: https://redefine.ohevan.com/2024/11/13/gdb配置/
- License: This work is licensed under CC BY-NC-SA 4.0.
        Comments
    
    
        
            
    
    
        
    

