2012-03-21 10 views
12

私はgdbでデバッグする際にソースコードのパスを設定しようとしています。私は.gdbinitファイルでこれを行うことにしました。.gdbinit内の環境変数にアクセスする方法とgdb自体の中にある方法は?

基本的には、コマンドが含まれています

SOURCESROOTは環境変数です
directory="$SOURCESROOT/src" 

directory="/path/to/src". 

しかし、私はそのコマンドを指定できるようにしたいと思います。可能であれば、gdb debuugingセッション内でも可能です。directory=$SOURCESROOT/folderと入力してください。

基本的には、環境変数gdb(または.gdbinit内)にアクセスしようとしています。

しかし、Debianの環境(envなどを設定)ではなく、gdb自体の環境(つまり、私が最初に "gdbプログラム"と入力するbashプロンプトの環境)。

と入力することができないので、gdbセッション内でshell $SOURCESROOTと入力すると環境変数の内容が表示されますが、これはまったく役に立たないです。

PS:「apt-get source」を使ってソースをダウンロードして、「apt-get update」utopicコマンドを使ってソースをダウンロードし、gdbをインストールするための理想的なセットアップがLinux(Debian)これらのソースを自動的に検索しますか?

答えて

16

Nevermind、私はPythonスクリプトを使用してそれを行う方法を見つけました。

.gdbinitファイルは以下のようになります。

python 
import os 
gdb.execute('directory' + os.environ['SOURCES'] + '/package_name/src') 
end 

show directories 
1

あなたのpythonが関与したくない場合は、これは仕事ができますか?

"show environment [varname] 起動時にプログラムに与えられる環境変数varnameの値を出力するvarnameを指定しない場合は、プログラムに与えられるすべての環境変数の名前と値を表示するあなたはenvとして環境を省略することができます。

https://www.adacore.com/gems/gem-119-gdb-scripting-part-1

:たぶん彼らは、同様の条件のために使用することができ

ftp://ftp.gnu.org/old-gnu/Manuals/gdb/html_node/gdb_19.html

関連する問題