Re: How to translate Virtual Memory address to Physical RAM address

Thank you for the information.

The application I need to debug has some nasty protection that prevents
looking into memory via ReadProcessMemory API, and I need to work
either thru PhysicalMemory or memory dump. I know VB is inappropritate
language, however it makes translation to VBA easy, since the debugging
code cannot be ran from it's own .EXE due to restrictions placed by the
monitoring application.

Imagine looking into process's memory from MS-Access or Excel.


Minoru TODA
todam at

"Tony Proctor" <tony_proctor@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:OCYNDIpAHHA.3620@xxxxxxxxxxxxxxxxxxxxxxx
Unless you're doing some extremely low-level debugging (say within the O/S,
or a device driver) then physical memory addresses are not really going to
be very useful to the person using your debugger. If you _were_ writing a
debugging for one of those areas then VB would be an inappropriate choice of
implementation language.

If you want simply want to read target process addresses from your separate
debugger process then you'll need access to the full range of user-mode
virtual addresses, not just those currently in the resident set. There are
much better ways of doing this, e.g. injecting a co-operating DLL, or using
the ReadProcessMemory API.

Tony Proctor