| This module replicates the functionality in Texinfo::ParserNonXS. |
| |
| |
| ===================================================================== |
| Notes - |
| |
| should be able to debug with gdb. Add |
| |
| ./configure PERL_EXT_CFLAGS='-g -O0' |
| |
| For individual tests can do "gdb perl" in ../../perl followed by e.g. |
| |
| (gdb) r -w t/27float.t comment_space_comand_in_float |
| |
| After a single run can set breakpoints. |
| |
| How to debug with valgrind - |
| export PERL5LIB to the value in the makeinfo script |
| |
| with alias VAL='valgrind --log-file=val.log', can do from the doc directory e.g. |
| |
| VAL perl ../tta/perl/texi2any.pl texinfo.texi |
| |
| also |
| |
| valgrind --vgdb-error=0 perl ../tta/perl/texi2any.pl texinfo.texi |
| |
| ===================================================================== |
| |
| To see contents of leaked memory |
| |
| Run with valgrind, in the ../../perl directory e.g. |
| |
| valgrind --leak-check=full --vgdb-error=0 --vgdb-stop-at=exit \ |
| perl -w t/18itemize.t |
| |
| at end of run, in gdb: |
| |
| (gdb) monitor leak_check definiteleak any |
| ==10409== 480 (80 direct, 400 indirect) bytes in 1 blocks are definitely lost in loss record 3,261 of 4,374 |
| |
| ... |
| |
| (gbd) monitor block_list 3261 |
| |
| |
| Get log files specific to tests with |
| |
| $ grep '^\['\' t/18itemize.t | sed -e 's/^..//' -e 's/..$//' >test-list |
| $ for t in `cat test-list` ; do valgrind --log-file=val.log.$t \ |
| --leak-check=full perl -w t/18itemize.t $t ; done |
| |
| |
| % |
| |
| checking memory leaks |
| install Perl::Destruct::Level via cpan |
| then e.g. |
| |
| VAL --leak-check=full perl -M'Perl::Destruct::Level level => 1' -w t/02coverage.t |
| |