現在のアプリケーションのすべてのメモリ マップ ライブラリのファイル名を取得する必要があります。現在、マップされたすべてのライブラリを vm_region 経由で調べています。残念ながら、現在のリージョンのファイル名に関する情報は提供されません。vmmap で popen を実行せずに c でこの情報を取得する方法はありますか?
質問する
1045 次
1 に答える
1
- 通常の
mmap
-edファイルの場合、使用できますproc_regionfilename()
- dyld_shared_cache からのライブラリの場合、パスとして「/private/var/db/dyld/dyld_shared_cache_x86_64」を取得し、実際のライブラリ名を見つける必要があります。
- https://code.google.com/p/psutil/issues/detail?id=260は、dyld_shared_cache_*.map ファイルを解析してこの情報を取得できると推測しています。
- https://stackoverflow.com/a/15714052/1026は別の実装を指しますhttp://newosxbook.com/src.jl?tree=listings&file=12-1-vmmap.c
于 2013-06-18T23:23:01.800 に答える