Search code examples
clinuxstack-memorystack-pointer

Print out value of stack pointer


How can I print out the current value at the stack pointer in C in Linux (Debian and Ubuntu)?

I tried google but found no results.


Solution

  • One trick, which is not portable or really even guaranteed to work, is to simple print out the address of a local as a pointer.

    void print_stack_pointer() {
      void* p = NULL;
      printf("%p", (void*)&p);
    }
    

    This will essentially print out the address of p which is a good approximation of the current stack pointer