in reply to Re^4: Make debugger break on source lines matching a pattern
in thread Make debugger break on source lines matching a pattern
IIRC are watchpoints evaluated code-snippets. Flip-flops are anchored in the op-tree but recompiling generates each time a new op-tree.
> We must have different versions of perl,
Not sure, I patched my local copy of .perldb a lot...
...
Yep sorry, mea culpa, emptying my local .perldb makes (caller 2) working.
...
Indeed, this watchpoint shows that my patching DB::eval() introduced a new call-frame
Watchpoint 0: @{[ $z++, map { (caller $_)[0..3],"\n" } 1..3 ]} chan +ged: old value: '0', 'DB', '/home/lanx/.perldb', '3', 'DB::eval', ' ', 'DB', '/usr/share/perl/5.10/perl5db.pl', '1953', 'DB::new_eval', ' ', 'Config', '/usr/lib/perl/5.10/Config.pm', '62', 'DB::DB', ' '
( have to consider using goto )
> And now I'm spending more time playing with the debugger than debugging!
Indeed! ( Welcome in the brotherhood ;-)
> But it sure is a fun challenge.
If you liked this, you might be interested in this: =)
YAPC::EU::2012 "IPL - From Debugger to Interactive Shell"
See also linked slides and code, it shows some techniques to patch perl5db for your needs.
Cheers Rolf
( addicted to the Perl Programming Language)
|
|---|