我正在尝试学习如何访问进程的内存区域,以便打印代码的开始和结束地址,其数据区域以及堆的开始和结束。 我相信 / proc / $ pid / maps 包含进程的开始和结束内存区域,但我想知道是否还有其他方法。也许是ptrace()?
答案 0 :(得分:0)
/proc/$pid/maps
或/proc/$pid/smaps
是获取有关进程地址空间映射信息的最佳方法,但具体是linux。
您可以使用/proc/$pid/mem
访问内存区域(小心lseek
到适当的区域,或使用mmap
访问它。)