1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 08:47:34 +00:00

UserspaceEmulator: Add Emulator::dump_regions() helper function

This commit is contained in:
Andreas Kling 2021-03-09 14:44:54 +01:00
parent 397f564144
commit 54bd2ee738
2 changed files with 19 additions and 0 deletions

View file

@ -1846,4 +1846,21 @@ int Emulator::virt$msyscall(FlatPtr)
return 0; return 0;
} }
void Emulator::dump_regions() const
{
const_cast<SoftMMU&>(m_mmu).for_each_region([&](const Region& region) {
reportln("{:p}-{:p} {:c}{:c}{:c} {} {}{}{} ",
region.base(),
region.end() - 1,
region.is_readable() ? 'R' : '-',
region.is_writable() ? 'W' : '-',
region.is_executable() ? 'X' : '-',
is<MmapRegion>(region) ? static_cast<const MmapRegion&>(region).name() : "",
is<MmapRegion>(region) ? "(mmap) " : "",
region.is_stack() ? "(stack) " : "",
region.is_text() ? "(text) " : "");
return IterationDecision::Continue;
});
}
} }

View file

@ -68,6 +68,8 @@ public:
void did_receive_signal(int signum) { m_pending_signals |= (1 << signum); } void did_receive_signal(int signum) { m_pending_signals |= (1 << signum); }
void dump_regions() const;
private: private:
const String m_executable_path; const String m_executable_path;
const Vector<String> m_arguments; const Vector<String> m_arguments;