• ベストアンサー

gdbでの引数の指定

起動時に引数を必要とするプログラムを作っていて、 引数が無いと、エラーを表示して終了するようになっています。 このプログラムの終盤で挙動がおかしく、 gdbでデバッグしようとしているのですが、 引数がないため、途中で終了してしまい、 問題の箇所まで進めません。 gdbでデバッグする際に、引数を指定するにはどうすればよいのでしょうか。 環境は以下のとおりです。 よろしくお願いします。 redhat7.2、gdb-5.1-1、gcc-2.96-98

質問者が選んだベストアンサー

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.1

runコマンドに引数を与えます。 run abc def argc = 3 argv[0] = 実行ファイル名 argv[1] = abc argv[2] = def 一度引数つきrunコマンドを実行すると、指定した引数がgdbが管理するargsという変数に記憶されます。 引数無しのrunコマンドはargsを参照するため、同一デバッグセッション内で2回目以降の実行は引数を省略可能です。 run argc = 3 argv[0] = 実行ファイル名 argv[1] = abc argv[2] = def argsはコマンドで設定/表示することが出来ます。 show args : argsの表示 set args コマンドライン引数 : argsの設定 argsが設定されているときに引数でプログラムを実行するには引数無しのset argsを実行します。 run abc def : "abc" "def"を引数としてプログラムを実行 set args : argsのクリア run : 引数無しでプログラムを実行 少しバージョンが古いですが、URLにgbdの日本語解説があります。

参考URL:
http://www.omoikane.co.jp/i/info/html/gdb-4.18/gdb-ja_toc.html
noname#4147
質問者

お礼

教えていただいた方法でうまくデバッグできました。 参考urlもありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A