Rohit
Rohit

Reputation: 7629

Using GDB to inspect the Machine Stack

Is there any way to get GDB to print the last "n" values pushed on the machine's stack. For example, currently if I want to inspect the contents of the stack I do the following (assuming x86 architecture):

(gdb) # get last value pushed on stack
(gdb) p *(int *)($esp)
(gdb) # get 2nd to last value pushed on stack
(gdb) p *(int *)($esp + 4) 

Is there a better way to view the machine stack? Printed nicely, maybe?

Upvotes: 15

Views: 7724

Answers (1)

Employed Russian
Employed Russian

Reputation: 213516

Examine 16 words on the top of stack:

x/16wx $esp

The "w" is for printing words

Upvotes: 23

Related Questions