当前位置: 技术问答>linux和unix
gdb没有加载源代码
来源: 互联网 发布时间:2015-05-29
本文导语: 如果源文件和可执行文件不在同一个目录中该如何处理?例如: ~/src/task.c ~/bin/task 如何在gdb中设置? 如果在同一个目录中,源文件与可执行文件不同名,又不想改变文件名,又该如何设置? | 不需要在...
如果源文件和可执行文件不在同一个目录中该如何处理?例如:
~/src/task.c
~/bin/task
如何在gdb中设置?
如果在同一个目录中,源文件与可执行文件不同名,又不想改变文件名,又该如何设置?
~/src/task.c
~/bin/task
如何在gdb中设置?
如果在同一个目录中,源文件与可执行文件不同名,又不想改变文件名,又该如何设置?
|
不需要在同一目录中,也不需要同名就可以找到吧!编译加-g了吗?
实在不行可以用在gdb环境下使用source命令吧,source ~/src/task.c
实在不行可以用在gdb环境下使用source命令吧,source ~/src/task.c
|
比如说可执行文件main在当前目录,h文件在当前目录的子目录include下,cpp文件在当前目录的子目录src下,那么可以写一个简单的Makefile:
all: *.o
g++ -o main *.o
*.o: src/*.cpp include/*.h
g++ -c -g src/*.cpp
all: *.o
g++ -o main *.o
*.o: src/*.cpp include/*.h
g++ -c -g src/*.cpp
|
只要你添加-g选项,并且在gdb过程中不修改原文件的路径(并且是可以访问的)就没有任何问题