CRiSP Blog

Dtrace release 2010-08-30

This release includes a working kernel ctf file dump. Finally, the following
trace script should work:


io:::start
{
printf("pathname=%s\n", args[2]->fi_pathname);
}


Note the fact we are referring to fi_pathname, with no struct definition
in sight! This works because /usr/lib/dtrace/io.d is read, and this works
with the kernel ctf file.

A big problem with this release is for those of you on older kernels,
this likely means older glibc releases and unless you have libdwarf.a
you wont be able to compile the ctfconvert utility. Compilation will
proceed, but you wont get the kernel (linux-`uname -r`.ctf) file.

And hence, you wont have access to the args[n] arguments to io:::start.

I'm debating what to do - some older systems have libdw.a, but thats effectively
an out of date version of the required library and is missing various
systems. (Essentially, its gcc which is the important bit - if GCC can
generate certain DWARF constructs, but libdw.a cannot parse them, then we
lose).

The alternative is to add libdwarf source to the distro or provide
an autodownload link. I'll see what people have to say/complain before
doing anything in this space.

Better to have a working dtrace for the latest kernels, and try and get
people to upgrade to match the requirements. (I dont like doing this
but its acceptable if I am to make any progress).


Post created by CRiSP v10.0.2a-b5886


Read more http://crtags.blogspot.com/2010/08/dtrace-release-2010-08-30.html

Testimonials

"After using Brief for many years, I did not look forward to learning vi or Emacs on my UNIX machine. CRiSP came to the rescue. The program has now grown and matured to the point where it has become much better than Brief ever was."

paypal_horiz