我有一个对其调用的目录敏感的应用程序 - 它使用相对路径加载一些文件。
当我通过调试器启动程序时,如何控制初始当前目录是什么?
我宁愿避免向调试程序添加特殊代码以使其调用chdir
;我的直觉是调试器应该提供某种方式在外部指定,因为无论如何它本质上是一个外部设置。
我使用的调试器是 TotalView,但我愿意接受其他 Linux 调试器的答案,因为它可以帮助我在电视中找到类似的设置。我可以在调用程序时指定环境变量,所以我尝试设置PWD
,但没有运气。
对于 GDB,初始工作目录是您实例化 GDB 的目录。因此,只需从您希望的工作目录运行 GDB 即可。或者,在程序运行时,您可以通过执行以下操作来更改当前工作目录:
(gdb) print chdir("new/working/directory")
GDB 还有一个内置命令,用于从 GDB 提示符更改进程的工作目录:
(gdb) cd new/working/directory
我从未使用过 TotalView,但它应该具有类似的功能,可以从调试器中执行代码(有副作用)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)