使用gdb调试基于C程序的参数

时间:2013-08-17 07:46:59

标签: c++ c gdb

我有c ++程序,我通过它传递字符串来运行。

g++ -o a main.cpp -lpthread

并使用./a "Good nice"

执行它

但我如何使用gdb调试它? main.cpp从包含在其中的其他文件中调用函数。

gdb ./a "Good nice"

将“ - ”作为文件,并且不说这样的文件!

我想逐行调试!

4 个答案:

答案 0 :(得分:6)

使用gdb的--args选项:

gdb --args ./a "Good nice"

还要在编译器调用中添加-g选项,否则gdb将无法将您的可执行文件与源代码连接起来:

g++ -g -o a main.cpp -lpthread

答案 1 :(得分:5)

使用不带参数的gdb

gdb ./a

然后在gdb中运行程序之前

set args "Good nice"

你可以看到你设置的参数,使用

show args

有关详细信息,请参阅here

答案 2 :(得分:3)

gdb ./prog - > set args string - > 运行

答案 3 :(得分:3)

Anther选择是在run

之后提供参数
$gdb ./a
 run "Good nice"