10110111/edb-debugger

PlatformProcess::read_pages() should call DebuggerCore::read_pages()

Closed this issue · 3 comments

PlatformProcess::read_pages() should call DebuggerCore::read_pages() by definition. And PlatformProcess::read_bytes() should also use DebuggerCore::read_pages(), otherwise it's very slow on 32-bit EDB with 64-bit debuggee on reading e.g. stack contents.

Agreed, I actually have something in mind which will revamp how reads work. Basically I want to have all read operations done in terms of DebuggerCore::read_pages as you suggest. But to make it even more efficient, I want to have a caching system (which is expired whenever the debugger leaves a stopped state). That way, we can do lots of small reads without hurting performance :-).

BTW, I've currently done read_bytes in terms of reading /proc/$PID/mem, and now the running process can have its memory read (which addresses your issue 191).

In fact, this particular issue has been addressed in my bitness branch (commit ddfd07c and its neighborhood).