我希望在运行时获取Linux进程中所有映射页面(已分配内存)的列表。我怎么能这样做?
答案 0 :(得分:9)
在流程内部,在Linux上,您可以阅读并解析/proc/self/maps
;试试cat /proc/self/maps
,它会显示运行cat
从另一个流程,对于pid 1234流程的地图,您可以阅读/proc/1234/maps
还有/proc/self/smaps
等。
Linux特定的dladdr函数有时也很有用。
答案 1 :(得分:3)
您可以使用/proc/[PID]/maps
。
答案 2 :(得分:1)
/proc/$your_pid/maps
并检查/proc/$your_pid
中的其他文件,它们也可能有用