Date: Thu, 20 Jul 2017 21:27:24 -0700 From: Matthew Ahrens <mahrens@delphix.com> To: Nan Xiao <xiaonan830818@gmail.com> Cc: freebsd-dtrace@freebsd.org Subject: Re: Does DTrace script only support "#pragma D option ..", not "-x option"? Message-ID: <CAJjvXiHbz7re_JpcQLiH4nW5VdJduFxSbYEVUfr_n=Drsv48zw@mail.gmail.com> In-Reply-To: <CA%2BMhoaORhTetd4414WjWgEbvRmTiHfbwk9FM5QCgqUbpKhBm9Q@mail.gmail.com> References: <CA%2BMhoaORhTetd4414WjWgEbvRmTiHfbwk9FM5QCgqUbpKhBm9Q@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 20, 2017 at 8:03 PM, Nan Xiao <xiaonan830818@gmail.com> wrote: > Hi all, > > My FreeBSD version is 11.0, and I write a simple DTrace script: > > #!/usr/sbin/dtrace -s -x dynvarsize=64m > > dtrace:::BEGIN > { > printf("Hello FreeBSD!\n"); > } > > Running it will generate following error: > > dtrace: failed to open -x dynvarsize=64m: No such file or directory > > > So does DTrace only support using "#pragma D option dynvarsize=64m" format > in script? I remembered Solaris can support both formats. > This doesn't work on Solaris, because (at least on Solaris/illumos) shebang binaries only support one argument; further arguments are silently ignored. So your script does execute on Solaris, but the "-x dynvarsize=64m" is ignored. And as Mark said, the -s needs to be last. But (on Solaris) then it'll be ignored because it isn't the first argument. You can combine multiple no-argument flags in the shebang line, e.g.: #!/usr/sbin/dtrace -vZs ... --matt > > Thanks! > > Best Regards > Nan Xiao > _______________________________________________ > freebsd-dtrace@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-dtrace > To unsubscribe, send any mail to "freebsd-dtrace-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJjvXiHbz7re_JpcQLiH4nW5VdJduFxSbYEVUfr_n=Drsv48zw>