2017-03-31 8 views
0

gdbデバッガを使用してアプリケーションをデバッグしようとしています。このアプリケーションには、特定の環境要件があります。 gdbを起動する前に、私が望むように環境を設定してから、gdbを開きます。gdbの ".cshrc"の読み込みを停止するにはどうすればよいですか?

一見すると、すべてがうまくなっているように見えます。コマンドshow environmentには、私が望むすべての変数が表示されますが、runコマンドを使用すると、魔法のようにリセットされます!

gdbが自動的に.cshrcファイルを呼び出してすべての環境変数をリロードしていることがわかりましたが、それを停止する方法はありません。これをどうやって止めることができますか?

.cshrcファイルがgdbから呼び出されてスキップされている場合は、そのファイルをチェックする方法はありますか?私はこれと数日間苦労してきましたが、それは信じられないほど刺激的です。

+1

あなたは間違っています:GDBはあなたの '〜/ .cshrc'を読んでいません - あなたの' $ SHELL'は読んでいます。非インタラクティブに実行しているときにシェルが環境に邪魔されないようにするのが正解です。 –

答えて

0

これまでのところ、1つの解決策が見つかりましたが、これがまだサーバー上の他のものを壊すかどうかはわかりません。

私は.cshrcファイルを次のコードを追加し、それがGDBによって呼び出されたときに、今では中止されます:

if (! $?prompt) then 
    exit 
endif 

このコードは、基本的には、対話型シェル以外の何かによって呼び出されている場合は中止することを伝えます。それは今のところ働いていますが、私はこれが将来他の何かを壊すことがわかるかもしれないという気持ちがあります。

関連する問題