I’m looking at some disassembly code and see something like 0x01c8f09b <+0015> mov 0x8(%edx),%edi and I am wondering what the value of %edx or %edi is.
Is there a way to print the value of %edx or other assembly variables? Is there a way to print the value at the memory address that %edx points at (I’m assuming edx is a register containing a pointer to … something here).
For example, you can print an objet by typing po in the console, so is there a command or syntax for printing registers/variables in the assembly?
Background:
I’m getting EXC_BAD_ACCESS on this line and I would like to debug what is going on. I’m aware this error is related to memory management and I’m looking at figuring out where I may be missing/too-many retain/release/autorelease calls.
Additional Info:
This is on IOS, and my application is running in the iPhone simulator.
You can print a register (e.g,
eax) using:Or for short:
To print it as hexadecimal:
To display the value pointed to by a register:
Check the gdb help for more details: