在当前的 macOS 进程中识别堆栈和堆段。

6
我想给在macOS下运行的守护进程添加内存分析工具。在Linux中,我可以简单地检查/proc/<pid>/map以查找进程中的任何映射内存,并查找pathname = [heap]或pathname = [stack]。
是否有适用于此目的的替代mac系统调用/MIG/mach消息?
我已经尝试查看proc_pidinfo是否包含任何有价值的信息,但不幸的是与我的需求无关。
请注意,苹果为其他远程进程提供了名为vmmap的工具,它根本没有提供任何API(仅仅是命令行工具),而且没有公开API可满足此需求,但也许有一种API可以从“内部”进程中提取此信息。
1个回答

5

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


是的,但我想基于一个进程内存分析器,所以我需要一些API,你熟悉任何私有的吗?谢谢。 - Zohar81
1
这个问题可能会有所帮助。 - CRD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接