4

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.

1
  • 1
    Are you reading the Hacking: The art of exploitation? I remember that he used perl to smash the stack. Commented Aug 25, 2009 at 23:30

3 Answers 3

5

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.

Sign up to request clarification or add additional context in comments.

Comments

4

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.

Comments

1

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.