我在 vmmap 上运行 dtruss,这是一个读取另一个远程进程的虚拟内存的进程。
我希望某些 mach_port 系统调用会出现在我的命令的输出中,但无法跟踪任何(即 mach_vm_read、task_for_pid 等..)
我运行的确切命令(注意 dtruss 是 OS-X 中 dtrace 的包装脚本):
sudo dtruss vmmap <pid_of_sample_process>
vmmap 的输入参数只是任何正在运行的进程的 pid,我使用的操作系统版本是 10.10(在 10.11 中,在 vmmap 等苹果产品上运行 dtruss 时存在授权问题)。
也许有人可以告诉我如何识别我正在寻找的系统调用......我应该在 dtruss 输出中寻找明确的名称,还是只是我想要的系统调用的通用调用号(遗憾的是,我还没有找到任何他们) :
./bsd/kern/trace.codes:0xff004b10 MSG_mach_vm_read