svn commit: r291341 - head/share/dtrace

Mark Johnston markj at FreeBSD.org
Wed Nov 25 23:19:07 UTC 2015


On Wed, Nov 25, 2015 at 10:59:41PM +0000, George V. Neville-Neil wrote:
> Author: gnn
> Date: Wed Nov 25 22:59:41 2015
> New Revision: 291341
> URL: https://svnweb.freebsd.org/changeset/base/291341
> 
> Log:
>   Summary: A simple script to print the return value of any function,
>   with or without wild cards.
> 
> Added:
>   head/share/dtrace/retval.sh   (contents, props changed)
> 
> Added: head/share/dtrace/retval.sh
> ==============================================================================
> --- /dev/null	00:00:00 1970	(empty, because file is newly added)
> +++ head/share/dtrace/retval.sh	Wed Nov 25 22:59:41 2015	(r291341)
> @@ -0,0 +1,43 @@
> +#!/bin/sh
> +#
> +# Copyright (c) 2015 George V. Neville-Neil <gnn at freebsd.org>
> +# All rights reserved.
> +#
> +# Redistribution and use in source and binary forms, with or without
> +# modification, are permitted provided that the following conditions
> +# are met:
> +# 1. Redistributions of source code must retain the above copyright
> +#    notice, this list of conditions and the following disclaimer.
> +# 2. Redistributions in binary form must reproduce the above copyright
> +#    notice, this list of conditions and the following disclaimer in the
> +#    documentation and/or other materials provided with the distribution.
> +#
> +# THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
> +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> +# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
> +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> +# SUCH DAMAGE.
> +#
> +# $FreeBSD$
> +#
> +# retval.sh - show the return value of any probe named by the user
> +#
> +# USAGE:	retval.sh name
> +#
> +# The name can be a full function name or a wild card name.  The
> +# caller is responsible for handling the escaping of wild cards.
> +#
> +/usr/sbin/dtrace -n '
> +
> +#pragma D option quiet
> +
> +:::'$1':return {
> +	printf("%s %d\n", probefunc, arg1);
> +}
> +'

This can be done without a shell since D has support for command-line
arguments. The following should be equivalent:

#!/usr/sbin/dtrace -s

#pragma D option quiet

fbt::$1:return
{
	printf("%s %d\n", probefunc, arg1);
}


More information about the svn-src-head mailing list