From: Jan P. <jp...@us...> - 2007-07-26 14:50:33
|
Update of /cvsroot/e-p-i-c/org.epic.perleditor-test/workspace/.metadata/.plugins/org.epic.debug In directory sc8-pr-cvs17:/tmp/cvs-serv17488/workspace/.metadata/.plugins/org.epic.debug Modified Files: dumpvar_epic.pm perl5db.pl epic_breakpoints.pm Log Message: Added a test case for bug [ 1761095 ] Breakpoints ignored in modules from "use lib". Index: epic_breakpoints.pm =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor-test/workspace/.metadata/.plugins/org.epic.debug/epic_breakpoints.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- epic_breakpoints.pm 3 Jun 2007 15:17:49 -0000 1.1 +++ epic_breakpoints.pm 26 Jul 2007 14:49:58 -0000 1.2 @@ -39,6 +39,17 @@ # note/TODO: $@ ne '' here if the line was not breakable } +# Converts a relative path in the debugger file system to absolute. +# +# @param source_path relative path to the source file +# +sub get_abs_path +{ + no warnings; + eval { print $DB::OUT _abs_path(@_) }; + # TODO: some sort of error reporting? +} + # Removes a breakpoint from a given source file. # Depending on the debugger's state the breakpoint is removed immediately # or added to the pending list. The invoker should not care. @@ -113,6 +124,8 @@ sub _postponed { my $filename = shift; + return if (index($filename, ' (autosplit') > 0); # see bug 1742003 + my $line = shift; my $source_path = _abs_path($filename); Index: perl5db.pl =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor-test/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- perl5db.pl 3 Jun 2007 15:17:48 -0000 1.1 +++ perl5db.pl 26 Jul 2007 14:49:58 -0000 1.2 @@ -1,7 +1,6 @@ - =head1 NAME -perl5db.pl - the perl debugger +C<perl5db.pl> - the perl debugger =head1 SYNOPSIS @@ -40,7 +39,7 @@ documented, so it's generally been a decision that hasn't made a lot of difference to most users. Where appropriate, comments have been added to [...7555 lines suppressed...] push @$aref, action($line); } else { - # <<<, >>>>, {{{{{{ ... something not a command. print $OUT "Confused by strange length of $which command($cmd)...\n"; @@ -9412,6 +8509,7 @@ } ## end else } ## end sub cmd_prepost + =head1 C<DB::fake> Contains the C<at_exit> routine that the debugger uses to issue the @@ -9430,4 +8528,3 @@ 1; - Index: dumpvar_epic.pm =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor-test/workspace/.metadata/.plugins/org.epic.debug/dumpvar_epic.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- dumpvar_epic.pm 12 Jun 2007 21:35:00 -0000 1.2 +++ dumpvar_epic.pm 26 Jul 2007 14:49:58 -0000 1.3 @@ -69,13 +69,7 @@ my $frame_index = shift; my $varexpr = shift; - my $h = eval { PadWalker::peek_my(3 + $frame_index) }; -{ - use Data::Dumper; - open(FL,'>>/tmp/res'); - print FL Dumper($h); - close(FL); -} + my $h = eval { PadWalker::peek_my(3 + $frame_index) }; if (!$@) { dump_hash(eval($varexpr)); } } @@ -229,26 +223,35 @@ local (*dumpvar_epic::entry); *dumpvar_epic::entry = $val if (defined($val)); - - if ($key !~ /^_</ and defined $dumpvar_epic::entry) # SCALAR - { - _dump_entity('$'._unctrl($key), \$dumpvar_epic::entry); - } - if ($key !~ /^_</ and @dumpvar_epic::entry) # ARRAY - { - _dump_entity('@'.$key, \@dumpvar_epic::entry); - } - if ($key ne "main::" && - $key ne "DB::" && - %dumpvar_epic::entry && - $key !~ /::$/ && - $key !~ /^_</) # HASH + + eval { - _dump_entity('%'.$key, \%dumpvar_epic::entry) - } - if (defined(my $fileno = fileno(*entry))) + if ($key !~ /^_</ and defined $dumpvar_epic::entry) # SCALAR + { + _dump_entity('$'._unctrl($key), \$dumpvar_epic::entry); + } + if ($key !~ /^_</ and @dumpvar_epic::entry) # ARRAY + { + _dump_entity('@'.$key, \@dumpvar_epic::entry); + } + if ($key ne "main::" && + $key ne "DB::" && + %dumpvar_epic::entry && + $key !~ /::$/ && + $key !~ /^_</) # HASH + { + _dump_entity('%'.$key, \%dumpvar_epic::entry); + } + if (defined(my $fileno = fileno(*entry))) + { + _dump_entity("FileHandle($key)", \"fileno($fileno)"); + } + }; + if ($@ ne '') { - _dump_entity("FileHandle($key)", \"fileno($fileno)") + # Do not let the error spread to our caller. + # See Bug 1735629 for a real example in which $@ ne '' here. + _dump_entity("Error($key)", \"$@"); } } |