Yes, this is a bug in the debugger. The addresses that it calculates are based on the address indicated on the left. Which are fake, the actual machine code does not start at address 0. It does not have the ability to show real addresses.
To find the destination address of a real call, you must set a breakpoint in the call command. When it hits, use the Debug + Windows + registers and copy / paste the value of the EIP register into your calculator. Then add the value of the call argument and subtract the address value as shown on the left. This is a real address.
To view the machine code there, you need to switch the debugger to non-control mode. Debug + Windows + Call Stack and double-click one of the frames of the unmanaged method stack. Below if you are not sure. Now you enter "0x" in the "Address" field and copy / paste the address that you calculated. Make sure the character server is turned on.
source share