X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXDebug.pm;h=947923f2d4a4acb499f1d9b2fc5ef90a58809c08;hb=63f0fc26e717837bc7c6990f27d26de91d65eb7e;hp=634bf97211bda5e8d70cb48621e69059342dffda;hpb=0ece4187fe1d9f4547cb262d91af55f17bea200c;p=spider.git diff --git a/perl/DXDebug.pm b/perl/DXDebug.pm index 634bf972..947923f2 100644 --- a/perl/DXDebug.pm +++ b/perl/DXDebug.pm @@ -52,14 +52,14 @@ if (!defined $DB::VERSION) { local $^W=0; eval qq( sub confess { \$SIG{__DIE__} = 'DEFAULT'; - DXDebug::dbgprintring() if DXDebug('nologchan'); + DXDebug::dbgprintring() if DXDebug::isdbg('nologchan'); DXDebug::dbg(\$@); DXDebug::dbg(Carp::shortmess(\@_)); exit(-1); } sub croak { \$SIG{__DIE__} = 'DEFAULT'; - DXDebug::dbgprintring() if DXDebug('nologchan'); + DXDebug::dbgprintring() if DXDebug::isdbg('nologchan'); DXDebug::dbg(\$@); DXDebug::dbg(Carp::longmess(\@_)); exit(-1); @@ -217,16 +217,18 @@ sub longmess sub dbgprintring { return unless $fp; - my $count = shift || $dbgringlth+1; + my $count = shift; my $first; my $l; - for ( ; $count > 0 && ($l = shift @dbgring); --$count) { - my ($t, $str) = split /\^/, $l, 2; + my $i = defined $count ? @dbgring-$count : 0; + $count = @dbgring; + for ( ; $i < $count; ++$i) { + my ($t, $str) = split /\^/, $dbgring[$i], 2; next unless $t; my $lt = time; unless ($first) { $fp->writeunix($lt, "$lt^###"); - $fp->writeunix($lt, "$lt^### RINGBUFFER START"); + $fp->writeunix($lt, "$lt^### RINGBUFFER START at line $i (zero base)"); $fp->writeunix($lt, "$lt^###"); $first = $t; }