DTrace是最初來自Solaris的令人印象深刻的強大的跟蹤系統,但它被移植到FreeBSD和Mac OSX。從DTrace腳本調用C函數
DTrace的使用稱爲d高級語言沒有什麼不同AWK或C.下面是一個例子:
io:::start
/pid == $1/
{
printf("file %s offset %d size %d block %llu\n", args[2]->fi_pathname,
args[2]->fi_offset, args[0]->b_bcount, args[0]->b_blkno);
}
使用命令行sudo dtrace -q -s <name>.d <pid>
所有IO源於該過程被記錄下來。
我的問題是如何以及如何從DTrace腳本中調用自定義C函數,以便在跟蹤過程中對跟蹤數據執行高級操作。