[dtrace-discuss] DTracing one's own libraries

Michael Schuster Michael.Schuster at Sun.COM
Wed Apr 1 09:41:40 PDT 2009


All,

from reading of the DTrace documentation, eg. at 
http://wikis.sun.com/display/DTrace/pid+Provider, I got the impression that 
I could do something like

	dtrace -n 'pid$target:<mylib>::entry{}' -c ...

for any existing mylib.so{.1} ... which does not seem to be the case; for 
the library I'm creating as well as libdladm, which I tried for sanity 
check, I get a message like

	dtrace: invalid probe specifier pid$target:libdladm::entry{}: probe 
description pid102461:libdladm::entry does not match any probes

(again, for sanity check, I used the probe specifier 
"pid$target:libc:str*:entry", which *did* work)

If I'm not doing something wrong that's just too obvious to notice myself 
;-), I suspect I need to add some spice to the library's makefile (it's on 
the ON tree under usr/src/lib) - can someone point me either to a good (ie 
simple enough for a bear of little brain) example (I don't think libc is 
one...) or to documentation on this?

(in "Dtrace Tips, Tricks and Gotchas" 
[http://blogs.sun.com/roller/resources/bmc/dtrace_tips.pdf] pg. 42 I read:
	Gotcha: Unsporting libraries
	[...]
	Library writers: don't do this!
	– gcc: Don't use -fomit-frame-pointer!
	– Sun compilers: avoid -xO4; it does this by
	default!
which, AFAICT, I'm not doing [I tweaked the options for development])

TIA
Michael
-- 
Michael Schuster 	http://blogs.sun.com/recursion
Recursion, n.: see 'Recursion'




More information about the dtrace-discuss mailing list