13 листопада 2009 о 15:21 +0100 Kurt Roeckx написав(-ла):
> So my understanding of the code is that it gets a list of path's
> to look at.  It does:
>   const Dwfl_Callbacks *const cb = mod->dwfl->callbacks;
>   char *path = strdupa ((cb->debuginfo_path ? *cb->debuginfo_path : NULL)
>                         ?: DEFAULT_DEBUGINFO_PATH);
> 
> And the default is:
> libdwflP.h:#define DEFAULT_DEBUGINFO_PATH ":.debug:/usr/lib/debug"
> 
> systemtap seems to be changing the debuginfo_path.
Yes, it changes it to "+:.debug:/usr/lib/debug:build" or to
$SYSTEMTAP_DEBUGINFO_PATH if it is set. I tried to set
SYSTEMTAP_DEBUGINFO_PATH to different values and found that libdw stops
trying to open files after empty directory. For example it finds
debuginfo (and crashes systemtap) if i remove first colon. Or move it to
the end. Comment in find-debuginfo.c says:
   /* An empty entry says to try the main file's directory.  */
So systemtap's debuginfo_path looks correct.

Attachment: signature.asc
Description: Digital signature



Reply via email to