wakandan
wakandan

Reputation: 1139

passing a command to gdb when running a program

I am using gdb to debug a program, and I want to have the output of the command

$(perl -e 'print "A"x20') 

as my argument. How can I do that? This way the argument would be very flexible.

Upvotes: 4

Views: 5957

Answers (3)

rui
rui

Reputation: 11

It looks like you didn't start your program with gdb properly. Supposing your program is "a.out", in bash:

$gdb a.out
(gdb)run `$(perl -e 'print "A"x20')`

Hope this helps you.

Upvotes: 1

gnometorule
gnometorule

Reputation: 2139

The above is slightly off and wouldn't work for me either. If you use the set args command, the following will work (at least on my system):

set args "`perl -e 'print "A"x20;'`"

As usual, simply type 'run' after to start debugging, and the proper argument should be passed.

Upvotes: 4

foobarfuzzbizz
foobarfuzzbizz

Reputation: 58627

You can use the run command and pass it any parameters afterwards which will be arguments.

If you want the above, try:

run `$(perl -e 'print "A"x20')`

as a command once you start gdb.

Upvotes: 5

Related Questions