web-dev-qa-db-ja.com

LinuxでGDBを起動するときにコマンドライン引数を渡すにはどうすればよいですか?

割り当ての一環として、エラーのあるプログラムをデバッグする必要があります。ただし、この問題を解決するには、まずコマンドライン引数を渡す必要があります。

私がやります:

gdb -tui InsertionSortWithErrors

これは動作しますが、その後、引数を渡す方法がわかりません。 gdb -helpを使用しましたが、--argsについての説明があり、これも試しましたがうまくいきませんでした。

デバッガーとGUIを取得し、コマンドライン引数を渡すことができるようにしたいです。

98
juice

gdbが起動したら、「r args」を使用してプログラムを実行できます。

したがって、次の方法でコードを実行している場合:

$ executablefile arg1 arg2 arg3 

gdbで次の方法でデバッグします。

$ gdb executablefile  
(gdb) r arg1 arg2 arg3
176
ldav1s

試して

gdb --args InsertionSortWithErrors arg1toinsort arg2toinsort
84

プログラムを実行する前に、gdbシェル内にある別のオプションを実行できます。

(gdb) set args file1 file2

そしてそれを検査します

(gdb) show args

--helpが示すように、gdb 7.1.1を使用しています。

gdb [options] --args実行可能ファイル[inferior-arguments ...]

私見では、順序は最初は少し直感的ではありません。

19
Alex