是否可以使用DTrace查看传递给strncpy的参数?

时间:2009-06-11 01:22:28

标签: solaris dtrace

我知道我可以写一个interposer来观察传递给strncpy库调用的参数,但看起来这对DTrace来说应该很容易。

1 个答案:

答案 0 :(得分:5)

这是一个工作变体(仅在Mac上测试):


#!/usr/sbin/dtrace -s
pid$target::strncpy:entry
{
    printf( "%s( %X, %s, %lld )\n",
        probefunc,
        arg0,
        copyinstr(arg1),
        arg2 );
}

copyinstr是必需的,因为字符串来自userland到内核。