Changeset 1bd82e0 for memlog2dot


Ignore:
Timestamp:
05/29/15 07:53:00 (10 years ago)
Author:
Hal Finkel <hfinkel@…>
Branches:
master
Children:
e1b15ec
Parents:
966f5de
git-author:
Hal Finkel <hfinkel@…> (05/29/15 07:53:00)
git-committer:
Hal Finkel <hfinkel@…> (05/29/15 07:53:00)
Message:

adjust for c++, use caching of dladdr, fixup for short names when making dot

File:
1 edited

Legend:

Unmodified
Added
Removed
  • memlog2dot

    rbdaf020 r1bd82e0  
    206206    chomp($func); 
    207207 
     208    # It sometimes happens that addr2line is a bit too smart: when debugging 
     209    # information is available, it might print a local alias for the 
     210    # function instead of the full name (for example, printing 'List' 
     211    # instead of 'Foo::List<int>::List(int, int const&)'). 
     212    if ($node->{'proc_name'} ne '?') { 
     213      my $proc_name = $node->{'proc_name'}; 
     214      $proc_name = `c++filt '$proc_name'`; 
     215      chomp($proc_name); 
     216 
     217      if (length($proc_name) > length($func)) { 
     218        $func = $proc_name; 
     219      } 
     220    } 
     221 
    208222    $ret .= $func . '\n'; 
    209223 
Note: See TracChangeset for help on using the changeset viewer.