导航

gdb中如何使用shell环境变量

Posted on 2007-06-13 09:46  姜伟华  阅读(1211)  评论(0编辑  收藏  举报
gdb中如何使用shell环境变量

我的可执行程序在一个很深的目录中,平时开发时都是用一个环境变量CSRC指向的。但在GDB里这样就很不爽了。因为GDB命令是不支持shell环境变量的。所以
            file $CSRC/bin/xpath2cmddt.exe
会报告说文件找不到。但每次打长长一串路径实在是很痛苦。

在GDB的mailing-list问到了一个方法:可以用下面的gdb命令序列迂回得到所要的效果:
    shell echo file $CSRC/bin/xpath2cmddt.exe >/tmp/tmp.csrcxpath
    source /tmp/tmp.csrcxpath
    shell rm /tmp/tmp.csrcxpath

不过每次都打这么一串命令也太麻烦了。所以,我在$HOME/.gdbinit中定义了一个自定义命令:
define loadxpath
    shell echo file $CSRC/bin/xpath2cmddt.exe >/tmp/tmp.csrcxpath
    shell echo cd $CSRC/bin >>/tmp/tmp.csrcxpath
    source /tmp/tmp.csrcxpath
    shell rm /tmp/tmp.csrcxpath
end

这样进了gdb之后只要打
       loadxpath
就可以了。

爽。