用gdb调试时如何将命令行参数传入?

时间:2022-04-23 19:33:27
我的源程序文件是pi.c,
gcc -o -ggdb3 pi pi.c后得到可执行文件pi
但在main()函数中有个参数argv[1],如果不输入这个参数程序就无法正确执行,
可是我gdb pi 进入gdb调试状态后,run只能运行pi,没有办法将参数传给main(),
请问高手在gdb下如何将该参数传入?

5 个解决方案

#1


你编译的使用用加-g扩展编译,gdb test
使用帮助help running
set args -- Set argument list to give program being debugged when it is started
这个你自己去试吧

#2


set args可以。
你进入gdb下好断点后,run + your parameters这样比较方便,呵呵!
exp:
gdb> b 24
gdb>r 123(你的参数)

#3


gdb ./test
gdb> r arg1 arg2 ……(你的参数)

#4


多谢了,我的网络现在有问题,对jack_wq(风尘往事具忘去,心地无私天地宽) 可能没有给上分,抱歉了

#5


我现在结不了贴??奇怪,分明明给了啊

#1


你编译的使用用加-g扩展编译,gdb test
使用帮助help running
set args -- Set argument list to give program being debugged when it is started
这个你自己去试吧

#2


set args可以。
你进入gdb下好断点后,run + your parameters这样比较方便,呵呵!
exp:
gdb> b 24
gdb>r 123(你的参数)

#3


gdb ./test
gdb> r arg1 arg2 ……(你的参数)

#4


多谢了,我的网络现在有问题,对jack_wq(风尘往事具忘去,心地无私天地宽) 可能没有给上分,抱歉了

#5


我现在结不了贴??奇怪,分明明给了啊