DynamoRIO / drmemory

Memory Debugger for Windows, Linux, Mac, and Android
Other
2.44k stars 262 forks source link

Enable Umbra to proactively track memory allocation #1798

Open zhaoqin opened 9 years ago

zhaoqin commented 9 years ago

Umbra is the module to maintain the shadow memory mapping for application memory. Currently, Umbra does not track the memory allocation but wait for the client calling shadow memory creation routines to create shadow memory. Umbra should be able to proactively track the allocation and manage the shadow memory accordingly. The challenges to the proactively tracking is that there are not only mmap and NtAllocateVirtualMemory that allocates memory from the OS, there are other system calls. One option is to use DrMalloc (xref #824).

derekbruening commented 9 years ago

We also want to prevent a tool's mappings from conflicting. We want to put Umbra logic at 3 control points: DR placement (on Linux at least, by default today we can reload DR at inject time), priv lib placement, and app mmap placement.

derekbruening commented 3 years ago

We were hoping that this could help ensure umbra's assumption of nothing being mapped in the 0x7fff'ff4-0x7fff'ff8 gap.