在 Linux 中启动 GDB 时如何传递命令行参数?

作为作业的一部分,我必须调试一个有错误的程序。但是,为了解决这个问题,我必须首先传递命令行参数。

我愿意:

gdb -tui InsertionSortWithErrors

但是之后我就不知道怎么传递参数了。我使用了 gdb -help,它说了一些关于 --args的东西,我也试过,但它没有工作。

我希望能够得到调试器 + GUI 和传递命令行参数。

197727 次浏览

试试看

gdb --args InsertionSortWithErrors arg1toinsort arg2toinsort

一旦 gdb启动,您可以使用“ rArgs”运行程序。

因此,如果您通过以下方式运行代码:

$ executablefile arg1 arg2 arg3

gdb上调试:

$ gdb executablefile
(gdb) r arg1 arg2 arg3

我使用的是 GDB7.1.1,如 --help所示:

gdb [options] --args executable-file [inferior-arguments ...]

恕我直言,这个顺序一开始有点不直观。

另一个选项是,一旦进入 GDB shell,在运行程序之前,可以这样做

(gdb) set args file1 file2

并用以下方法检查:

(gdb) show args