Peter Cudhea
2006-Mar-07 01:58 UTC
[dtrace-discuss] Why doesn''t dtrace find my libraries? : libhoneycomb is not a valid library name
This seems like it should be a frequently asked question, but I am striking out on finding an answer. I have a short test program (testhcclient) that invokes the shared library I am developing (libhoneycomb.so). I am using the DTrace Toolkit 0.92 to try to examine this program and watch how it invokes the entry points of the shared library. The problem is that none of the entry points of my shared library ever show up in dtrace output. The entry points of the test program show up just fine, but the only other entry points that show up are those in ld.so, not those in my shared library. dapptrace -U and dapptrace -a print none of the entry points from my library. dapptrace -u libhoneycomb <command> gets an error message "libhoneycomb is not a valid library name". Note that truss -u was able to see the entry points to this library, so there is not something fundamentally wrong with the library. I have confirmed that the library was compiled and linked with -g and that the executable is not stripped. Some pre-release documentation I saw on dtrace indicated that there was nothing special I needed to do to a library to trace it with dtrace, other than leave the symbols intact. Is this still true? What am I missing? I possess the dtrace-user and dtrace-proc privileges.