OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

gdbでの引数の指定

  • 暇なときにでも
  • 質問No.247787
  • 閲覧数4551
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

起動時に引数を必要とするプログラムを作っていて、
引数が無いと、エラーを表示して終了するようになっています。

このプログラムの終盤で挙動がおかしく、
gdbでデバッグしようとしているのですが、
引数がないため、途中で終了してしまい、
問題の箇所まで進めません。

gdbでデバッグする際に、引数を指定するにはどうすればよいのでしょうか。
環境は以下のとおりです。
よろしくお願いします。


redhat7.2、gdb-5.1-1、gcc-2.96-98
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル13

ベストアンサー率 37% (570/1525)

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の日本語解説があります。
お礼コメント
noname#4147

教えていただいた方法でうまくデバッグできました。
参考urlもありがとうございました。
投稿日時 - 2002-04-06 20:00:31
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ