如何设置调试进程的当前目录?

时间:2008-11-19 21:01:08

标签: linux debugging totalview

我有一个对它调用的目录很敏感的应用程序 - 它使用相对路径加载一些文件。

当我通过调试器启动程序时,如何控制初始当前目录?

我宁愿避免在调试程序中添加特殊代码,使其调用chdir;我的直觉是调试器应该提供一些在外部指定的方法,因为它本身就是一个外部设置。

我正在使用的调试器是TotalView,但我对其他Linux调试器的答案持开放态度,因为它可以帮助我在电视中找到类似的设置。我可以在调用程序时指定环境变量,所以在云雀上,我尝试设置PWD,但没有运气。

1 个答案:

答案 0 :(得分:6)

使用GDB,初始工作目录是您实例化GDB的目录。因此,只需从您想要的工作目录运行GDB即可。或者,在程序运行时,您只需执行以下操作即可更改当前工作目录:

(gdb) print chdir("new/working/directory")

GDB还有一个内置命令,用于从GDB提示符更改进程的工作目录:

(gdb) cd new/working/directory

我从未使用过TotalView,但它应具有类似的功能,可以在调试器中执行代码(带副作用)。