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

How can I stop gdb from reading ".cshrc"?

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

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

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

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

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

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

if ( ! $?prompt ) then
    exit
endif

这段代码基本上是告诉它在被非交互式 shell 调用时中止。它目前有效,但我有一种感觉,我可能会发现这会在未来破坏其他东西。