139

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

我愿意:

gdb -tui InsertionSortWithErrors

哪个有效,但在那之后我不知道如何传递参数。我用过gdb -help,它说了一些--args我也试过但没用的东西。

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

4

4 回答 4

234

gdb启动后,您可以使用“r args ”运行程序。

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

$ executablefile arg1 arg2 arg3 

通过以下方式对其进行调试gdb

$ gdb executablefile  
(gdb) r arg1 arg2 arg3
于 2013-01-24T06:08:28.730 回答
115

尝试

gdb --args InsertionSortWithErrors arg1toinsort arg2toinsort
于 2013-01-24T06:08:17.453 回答
27

我用的是GDB7.1.1,如图--help

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

恕我直言,这个顺序起初有点不直观。

于 2015-01-16T07:10:37.553 回答
25

另一种选择,一旦进入 GDB shell,在运行程序之前,你可以做

(gdb) set args file1 file2

并检查它:

(gdb) show args
于 2015-03-10T17:59:30.500 回答