Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试学习如何访问进程的内存区域,以打印代码的开始和结束地址、其数据区域以及堆的开始和结束。我相信/proc/$pid/maps包含进程的开始和结束内存区域,但我想知道是否还有其他方法。也许 ptrace() ?
/proc/$pid/maps 或者/proc/$pid/smaps是获取有关进程地址空间映射信息的最佳但特定于 linux 的方法。
/proc/$pid/maps
/proc/$pid/smaps
您可以使用/proc/$pid/mem来访问内存区域(注意lseek适当的区域,或使用mmap来访问它)。
/proc/$pid/mem
lseek
mmap