在 mac os 下使用 sysctl 调用获取 /proc/<pid>/map 信息
Get /proc/<pid>/map info with sysctl call under mac os
我想使用 /proc/<pid>/map
目录来获取有关进程虚拟内存的信息(尤其是有关其共享库的信息)。由于 mac os 没有我正在尝试寻找其他方法。其中之一似乎是 sysctl
调用,但我不太明白如何将它用于这种 purpose。有没有例子?我知道它也可以通过一些 mach_vm
接口调用来完成,但文档非常丰富。也许您知道读取进程内存的任何其他方法?顺便说一下,我的 mac os 版本是达尔文。
注意:purpose 是在不使用任何实用程序或 fork/exec
调用的情况下执行此操作。我也不希望安装任何 pseudofs
。
macOS 的虚拟内存子系统位于内核的 Mach 继承部分,因此这些 API 肯定是可以使用的。要检查区域,请查看 mach_vm_region()
(在原始 Mach 中称为 vm_region
- 您会找到 more documentation),对于读取内存,请使用 mach_vm_read()
.
您可能还会发现 vmmap
命令行实用程序对探索很有用。
我想使用 /proc/<pid>/map
目录来获取有关进程虚拟内存的信息(尤其是有关其共享库的信息)。由于 mac os 没有我正在尝试寻找其他方法。其中之一似乎是 sysctl
调用,但我不太明白如何将它用于这种 purpose。有没有例子?我知道它也可以通过一些 mach_vm
接口调用来完成,但文档非常丰富。也许您知道读取进程内存的任何其他方法?顺便说一下,我的 mac os 版本是达尔文。
注意:purpose 是在不使用任何实用程序或 fork/exec
调用的情况下执行此操作。我也不希望安装任何 pseudofs
。
macOS 的虚拟内存子系统位于内核的 Mach 继承部分,因此这些 API 肯定是可以使用的。要检查区域,请查看 mach_vm_region()
(在原始 Mach 中称为 vm_region
- 您会找到 more documentation),对于读取内存,请使用 mach_vm_read()
.
您可能还会发现 vmmap
命令行实用程序对探索很有用。