title: how to read esp with gdb
body: <pre><code>   0x0804889a &lt;+361&gt;:   mov    %eax,0xc(%esp)
     0x0804889e &lt;+365&gt;:   movl   $0x2b,0x8(%esp)
     0x080488a6 &lt;+373&gt;:   movl   $0x1,0x4(%esp)
     0x080488ae &lt;+381&gt;:   movl   $0x8048ab0,(%esp)
  </code></pre>
  
  <p>program is adding data to %esp (the last line is a string from memory that i can probe)</p>
  
  <p>i'm currently breaking at the last line of the above. and <code>info registers</code> shows</p>
  
  <pre><code>esp            0xffffd704       0xffffd704
  </code></pre>
  
  <p>when i try to <code>display</code> it i get</p>
  
  <pre><code>$esp = (void *) 0xffffd704
  </code></pre>
  
  <p>if i try to dump it</p>
  
  <pre><code>(gdb) dump memory mem2 0xffffd704 0xffffffff
  Cannot access memory at address 0xffffd704
  
  (gdb) info mem
  Using user-defined memory regions.
  There are no memory regions defined.
  </code></pre>
  
  <p>how can i see the full value of esp?</p>