I am would like to know if my assumption is correct, in my project i would like to know exactly what memory my process and child process allocated, so after a research i cam across win32 api, GetProcessHeaps()
, the documentation tells me i can enumerate all heaps that process has allocated, and gets its size. However i ran into another question, where a stack would be located in each thread. I expiremented with GetCurrentThreadStackLimits()
which returns start address and end address. But i was not able to read directly from this memory.
Maybe some one can direct me in the right way, or explain a bit about how Locate each chunk of memory that the process uses.
Basically a debugger somehow knows what part of memory u have reserved and what parts of it u did not. therefore, some part of virtual memory you can read, and some parts you just cant, cause you haven't reserved it, and it is not mapped to physical memory.
Question is mostly about, enumerating allocation, determine their location and size, and reading from them. Just like a debugger does.