It’s my understanding that debuggers use ReadProcessMemory (in a Windows environment) to read another process’ memory.. what am I wondering is: ReadProcessMemory reads another process’ memory to a buffer so it causes overhead. Do debuggers read small chunks of memory or do they read the entire process’ memory in one shot?
It’s my understanding that debuggers use ReadProcessMemory (in a Windows environment) to read another
Share
API does not guarantee atomic read. Eventually it copies data (as opposed to providing access to original bytes through address mapping), and if the debuggee is still running it might be altering the memory in question while the API call is in progress.