2017-10-19 154 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