我正在尝试使用gdb调试器调试应用程序。此应用程序有一些特定的环境要求。在启动gdb之前,我按照我想要的方式设置环境,然后打开gdb。
乍一看,一切都很好。命令show environment
显示了我想要的所有变量,但是当我使用run
命令时,它们会神奇地重置!
我做了一些挖掘,发现gdb自动调用.cshrc
文件并重新加载所有环境变量,但似乎没有办法阻止它!我怎样才能阻止这种情况发生?
有没有办法检查.cshrc
文件内部是否从gdb调用并跳过它?几天来我一直在苦苦挣扎,这令人非常恼火。
答案 0 :(得分:0)
到目前为止,我找到了一个解决方案,但我不确定这是否会破坏服务器上的其他内容。
我在.cshrc
文件中添加了以下代码,现在它在gdb调用时中止:
if ( ! $?prompt ) then
exit
endif
这段代码基本上告诉它如果被交互式shell以外的东西调用则中止。它现在有效,但我觉得我可能会发现这将在未来打破别的东西。