操作系统是Windows,GCC是4.7.2,GDB是7.3。
我在C:/ project / src /文件夹中有一个带有include:
的.c文件#include "../inc/header.h"
编译后,我在调试符号中有一个相对路径:
> objdump -WL obj.o | grep header.h
C:/project/src/../inc/header.h
...
但我希望它是C:/project/inc/header.h,因为如果我在发出set breakpoint命令时使用绝对路径,那么在gdb中设置BP会失败。
这种情况是人为的,但由于环境条件,我问题的唯一解决方案是在调试符号中生成绝对路径,或者教GDB来解析相对路径。
GCC是否有开关来打开调试符号中的绝对路径生成?
答案 0 :(得分:2)
解决方案是在GDB中,而不是GCC。
最简单的方法是将包含标题的目录添加到搜索路径中:
(gdb) directory /path/to/include/
您可能需要的更复杂的是路径名替换规则:
(gdb) set substitute-path ../inc /path/to/inc