Thanks for the tip Erik, perldebguts has some clues as to what
is happening.
I have made some progress in that when the debugger is in a
normal module, variables _<$filename contain what the
documentation says to expect.
When I'm inside one of my coderefs, I get the string
__ANON__ or something like eval 6 quoted as a module name.
I tried stuffing an array called _<__ANON with my lines
of code, but this made no difference. Also, I'm presuming
these debug variables are package not lexical, as they appear
to be lumped together in a typeglob. Evidence suggests that
all these debug variables go into package main::.
I want a way of priming the debugger with my lines of code
before it drops into the coderef.
Update: Looking at perl5db.pl and perlfunc
on caller, I see that what I need to do is fake a
call, supplying the correct source and line information so
that caller can see it. How to do this? I've re-read the
chapters on XS programming in Advanced Perl programming
, but this does not even mention the supplementary
information passed into a call for the debugger. Maybe this
book pre-dates perl5db. Any help would be appreciated.
--rW |