如何阻止gdb读取“.cshrc”?

时间:2017-03-31 14:22:36

标签: debugging gdb environment-variables environment

我正在尝试使用gdb调试器调试应用程序。此应用程序有一些特定的环境要求。在启动gdb之前,我按照我想要的方式设置环境,然后打开gdb。

乍一看,一切都很好。命令show environment显示了我想要的所有变量,但是当我使用run命令时,它们会神奇地重置!

我做了一些挖掘,发现gdb自动调用.cshrc文件并重新加载所有环境变量,但似乎没有办法阻止它!我怎样才能阻止这种情况发生?

有没有办法检查.cshrc文件内部是否从gdb调用并跳过它?几天来我一直在苦苦挣扎,这令人非常恼火。

1 个答案:

答案 0 :(得分:0)

到目前为止,我找到了一个解决方案,但我不确定这是否会破坏服务器上的其他内容。

我在.cshrc文件中添加了以下代码,现在它在gdb调用时中止:

if ( ! $?prompt ) then
    exit
endif

这段代码基本上告诉它如果被交互式shell以外的东西调用则中止。它现在有效,但我觉得我可能会发现这将在未来打破别的东西。