#!/usr/sbin/dtrace -s #pragma D option flowindent /* * This probe spec is exessive for a process. Read about the vminfo provider to see why. * Note that the fault events do not have a natural closing event. * We'll have to depend on fbt::trap:return for that. */ vminfo::*fault:*fault / execname == "mmap" / { self->flag = 1; } fbt::: /self->flag && execname == "mmap" / { } fbt::as_segat:entry /self->flag && execname == "mmap" / { printf("Segat faulting address: %p\n", args[1]); } fbt::trap:entry / execname == "mmap" / { printf("Trap: %d addr: %p cpu: %d\n", args[0]->r_trapno, args[1], args[2]); } fbt::trap:return /self->flag && execname == "mmap" / { self->flag = 0; }