https://bugs.kde.org/show_bug.cgi?id=472973

            Bug ID: 472973
           Summary: add debuginfod client support for source code
                    downloading on the fly
    Classification: Developer tools
           Product: kcachegrind
           Version: unspecified
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: josef.weidendor...@gmx.de
          Reporter: f...@redhat.com
  Target Milestone: ---

Several modern linux distros run debuginfo + source code downloading service
called debuginfod -  https://sourceware.org/elfutils/Debuginfod.html . 
kcachegrind could take advantage to download source code to binaries and
especially shared libraries being profiled.  This could get rid of many
occurrences of the "There is no source available for ...." diagnostics.

The simplest way to use it would be to extend libviews/sourceview.cpp to call
out to "debuginfod-find $PATH source $SOURCEFILE", consume its standard output
as a file name (if rc==0).  That file should contain the contents of the source
file.

In the case of callgrind output files, $PATH would probably come from "ob=(N)
$PATH" and "cob=(N) $PATH", and $SOURCEFILE is the nearby "fi=(N) $SOURCEFILE".

callgrind.out:

[...]
cob=(2) /usr/lib64/libc.so.6
[...]
fi=(349) /usr/src/debug/glibc-2.37-4.fc38.x86_64/libio/libioP.h


% debuginfod-find /usr/lib64/libc.so.6 source
/usr/src/debug/glibc-2.37-4.fc38.x86_64/libio/libioP.h
/home/you/.cache/debuginfod_client/SOMETHING/ELSE.h
% cat /home/you/.cache/debuginfod_client/SOMETHING/ELSE.h
/* ..... glibc goodness ..... */

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to