documentation is available in the Compaq "Tru64 UNIX Programmer's
Guide", chapter "Debugging Programs with Third Degree".
-The "test.third" leaves a lot of files named F<perl.3log.*> in the t/
+The "test.third" leaves a lot of files named F<foo_bar.3log> in the t/
subdirectory. There is a problem with these files: Third Degree is so
effective that it finds problems also in the system libraries.
-Therefore there are certain types of errors that you should ignore in
-your debugging. Errors with stack traces matching
-
- __actual_atof|__catgets|_doprnt|__exc_|__exec|_findio|__localtime|setlocale|__sia_|__strxfrm
-
-(all in libc.so) are known to be non-serious. You can also
-ignore the combinations
-
- Perl_gv_fetchfile() calling strcpy()
- S_doopen_pmc() calling strcmp()
-
-causing "rih" (reading invalid heap) errors.
+Therefore you should used the Porting/thirdclean script to cleanup
+the F<*.3log> files.
There are also leaks that for given certain definition of a leak,
aren't. See L</PERL_DESTRUCT_LEVEL> for more information.
}
if ($ENV{PERL_3LOG}) {
my $tpp = $test;
- $tpp =~ s:^../::;
- if ($tpp =~ m:/:) { $tpp =~ s:/:_:g } else { $tpp = "op_$tpp" }
+ $tpp =~ s:/:_:g;
$tpp =~ s:\.t$::;
- rename("perl.3log", "perl.3log.$tpp") ||
- die "rename: perl3.log to perl.3log.$tpp: $!\n";
+ rename("perl.3log", "$tpp.3log") ||
+ die "rename: perl3.log to $tpp.3log: $!\n";
}
$next = $next - 1;
# test if the compiler compiled something