2017-10-19 151 views
1

我想将内存分析器添加到在macOS下运行的守护程序。在linux中,我可以简单地检查/proc/<pid>/map以查找进程中的任何映射内存,并查找pathname = [haep]或pathname = [stack]。在macOS当前进程中识别堆栈和堆段

是否有任何替代MAC系统调用/ MIG /马赫消息为此目的?

我试着看看proc_pidinfo是否包含任何有价值的信息,但不幸的是没有任何与我的需求有关。

请注意,苹果为其他远程进程提供了这样的工具,称为vmmap,它根本不提供任何API(它只是命令行工具),并且没有公共API来满足这种需求,但也许有API提取这些信息来自过程本身的“内部”。

回答

0

我不知道它使用了哪些公共API(如果有的话),但与macOS中的Linux /proc/$pid/maps最接近的是vmmap实用程序。以PID作为参数运行它将为您提供关于该进程映射的所有区域的详细报告,其中包括有关malloc区域内的内存使用情况的一些有趣详细信息。

+0

是的,但我想建立一个进程内存分析器,所以我需要一些API,你是否熟悉任何私有的?谢谢 – Zohar81

+0

这[问题](https://stackoverflow.com/questions/33337740/is-there-any-api-for-the-command-vmmap)可能会有所帮助。 – CRD