Date: Wed, 25 Nov 2015 15:20:41 -0800 From: Mark Johnston <markj@FreeBSD.org> To: "George V. Neville-Neil" <gnn@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r291341 - head/share/dtrace Message-ID: <20151125231842.GA67865@wkstn-mjohnston.west.isilon.com> In-Reply-To: <201511252259.tAPMxfIq060477@repo.freebsd.org> References: <201511252259.tAPMxfIq060477@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20151125231842.GA67865>