ファイヤープロジェクト
コマンド定義と初期化ファイル
2003-07-20T15:13+09:00   matsu
複数のgdbコマンドをまとめて定義したりgdb起動時に初期化ファイルに書いたコマンドを実行したりするとうれしい.
gdbではgdbコマンドを複数あつめてそれに名前をつけることができる.
define name
commands
......
end
commandsにはif文とwhile文も使用できる.以下if文を使用した例.
define hoge
>if i == 5
 >echo OK
 >else
 >echo NG
 >end
>end
そしてwhile文を使用した例.
define fuga
>set i = 5
>while i > 0
 >echo i\n
 >end
>end
gdbの起動シーケンスを以下に示す.
  1. $HOME/.gdbinitがあればそれを読み込んで実行する.
  2. コマンドラインオプションとオペランドを処理する.
  3. ./.gdbinitがあればそれを読み込んで実行する.
.gdbinitは各行がgdbコマンドであるファイルである.#で始まる行はコメントである..gdbinitを作成することで,毎回実行する面倒臭いgdbコマンドがある場合に便利かもしれない.そして自分で定義したコマンドも毎回定義しなくて済むようになる..gdbinitファイルの処理を実行中,普通は何も出力されないが,以下で明示的に出力を指示できる.
  • echo
  • printf
どちらも改行\nを明示的に指定する必要がある(\nがないとなんか表示が変になった).
matsu(C)
Since 2002
Mail to matsu