in reply to Re: Re: dprofpp -g doesn't work for me
in thread dprofpp -g doesn't work for me

No. There were no "* xx" lines in tmon.out, so I added one and got

C:\test>dprofpp -g Date::Manip::ParseDate Modification of non-creatable array value attempted, subscript -1 at d +:\perl\bin/dprofpp.bat line 692, <fh> line 664.

Looking at the POD for Dprof, there is this line

Lines starting with +, - and * mark entering and exit of subroutines by ids, and goto &subr.

Which I interpret to mean that lines starting with * indicate a trnasfere of control using goto &subr. A curosry grep through the sources of the modules (strict, Date::Manip etc.) that are used by the test program didn't turn up any gotos.

I think you have the source of the problem. You could try replace each occurance of "* xx" with

+ xx - xx

which should amount to the same thing, but you would need to consult the author/maintainer for a confirmation (and fix). HTH.


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail
Hooray!

Replies are listed 'Best First'.
Re: Re: Re: Re: dprofpp -g doesn't work for me
by DrWhy (Chaplain) on Jan 08, 2004 at 18:33 UTC
    Thanks again for the input. I swear I read that line,

    > Lines starting with +, - and * mark entering and exit of subroutines by ids, and goto &subr.

    five times and never got the fact that * == 'goto &subr'.

    The fix you suggest does not work. It just mangles the file. Just changing * to + works more or less, but requires you to use -F and the timing data for the subs that call goto are messed up. A better fix would look something like this. Change

    + yy & zz pkg subname * zz - zz

    to

    + yy - yy & zz pkg subname + zz - zz