#!/usr/sbin/dtrace -s #pragma D option flowindent syscall::open:entry, syscall::open64:entry { self->flag = 1; printf( "open %s", copyinstr(arg0) ); /* printf( "open %s", stringof(arg0) ); ---illegal addresses */ } fbt:genunix:kmem_cache_*:entry /self->flag/ { printf("kmem %s", ((kmem_cache_t *)arg0)->cache_name); /* printf("kmem %s", args[0]->cache_name); ---"unstable probe set" */ } fbt::kmem_alloc:entry /self->flag/ { printf("kmem_alloc size %d", args[0]); } fbt::kmem_*: /self->flag/ { } fbt::vmem_*: /self->flag/ { } syscall::open:return, syscall::open64:return { self->flag = 0; }