调试信息.
编译文件名:
gcc -c filename
.这里的filename
就会被存为文件名.
可以用readelf -Wwi | grep DW_AT_name
查看.
编译位置:
即gcc
执行时的工作路径.
注意是每一个文件都有自己对应的编译绝对路径.
说明:
代码位置发生变化
可执行程序执行所在主机发生了变化.
要素:
编译文件名:资源搜索目录.
资源搜索目录:
用于搜索编译文件名的目录.
默认值,$cdir:$cwd
,这两个都是实时解析,并不是固定值.
文件路径生成:
1.编译文件名是绝对路径.
2.资源搜索目录*(filename + cwd/filename + file base name)
.
解决地址变化问题:
set substitute-path from to
将上面生成的路径进行替换.
从头部匹配,将匹配from
的部分用to
替换.
from=/home/nice
与/home/niceshot
不匹配,只匹配/home/nice/
.
搜索路径操作
directory dirname ... |dir dirname ...
头插法.可加入$cdir,$cwd
这种就是移动位置.
多个用空格或:
分隔.
dir '/home/user1 /home/user2:/home/user3'
directory
重置为$cdir:$cwd
set directories path-list
替换,始终包含$cdir:$cwd
show directories
查看
set substitute-path from to
添加替换规则,尾插法.之前就有之前的删除后尾插.
unset substitute-path [path]
删除一个或所有.
删除所有后不包含$cdir,$cwd
show substitute-path [path]
查看替换规则.