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

> The bistable flip-flop seems like it should be perfect for this case, ... I can't get it to work properly.

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)