macos - mac 上进程的内存快照?

标签 macos unix memory process ida

我想在 mac 上拍摄正在运行的进程的内存快照。我不知道该怎么做。

我有 IDA-PRO for mac。可以用吗?如何?

谁能建议我一个方法来做到这一点? (一些文档或示例)。 可能可以使用 uni 的一些技术,但我也不知道。

我不想终止进程,因为我想在执行指令/命令后查看发生了什么变化。

最佳答案

您可以向正在运行的进程发送信号以将核心转储到文件中,稍后可以将其与 gdb 一起用于事后分析。

kill -ABRT <process-id>

看来您必须配置您的系统以启用核心转储。参见 http://developer.apple.com/library/mac/#technotes/tn2124/_index.html了解详情。

更新:

好吧,上面的链接介绍了 gcore 的第三方实现,这是一个命令行工具,用于对正在运行的进程进行核心转储:

http://www.osxbook.com/book/bonus/chapter8/core/

您可能只想获取源代码并尝试:

http://www.osxbook.com/book/bonus/chapter8/core/download/gcore-1.3.tar.gz

要使单个 FAT 二进制文件与 ppc/i386/x86_64 一起使用,只需修改 Makefile 中的以下行:

gcore: gcore.c
        gcc -O2 -arch ppc -arch i386 -Wall -o $@ $<

作为:

gcore: gcore.c
        gcc -O2 -arch ppc -arch i386 -arch x86_64 -Wall -o $@ $<

关于macos - mac 上进程的内存快照?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7164232/

相关文章:

python - 我的系统上有太多不同的 Python 版本并导致问题

macos - VirtualBox 在干净的 OSX 10.13 中安装失败

macos - 在 Mac OS X 中向 SCSI 设备发送特定的 SCSI 命令

c++ - 从 C/C++ 程序读取管道的最快方法?

c - 在 C 中使用 Glob() 列出目录中的文件

php - 内存不足总是在同一行

linux - 从虚拟机上的linux终端扫描并连接到wifi

c - 进程何时会发出导致自身退出的信号?

c - Solaris 中 prstat SIZE 值增加是否表示内存泄漏?

PHP 内存限制