diff options
Diffstat (limited to 'script/mwrap-decode-csv')
-rw-r--r-- | script/mwrap-decode-csv | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/script/mwrap-decode-csv b/script/mwrap-decode-csv new file mode 100644 index 0000000..5bbc171 --- /dev/null +++ b/script/mwrap-decode-csv @@ -0,0 +1,57 @@ +#!perl -w +# Copyright (C) mwrap hackers <mwrap-perl@80x24.org> +# License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt> +# addr2line decoder for the output of MWRAP=dump_csv:$FILENAME +use v5.12; +use Devel::Mwrap::Rproxy; +use IO::Handle; +Devel::Mwrap::Rproxy::decode_csv(*STDIN{IO}, *STDOUT{IO}); +__END__ +=head1 NAME + +mwrap-decode-csv - decode non-Perl addresses from mwrap CSV dumps + +=head1 SYNOPSIS + + MWRAP=dump_csv:$FILENAME,bt:2 mwrap-perl COMMAND... + + mwrap-decode-csv <$FILENAME + +=head1 DESCRIPTION + +mwrap-decode-csv is a convenient wrapper for L<addr2line(1)> +for decoding C backtraces from CSV files. + +It reads the CSV via standard input, and emits to standard output. + +It expects CSV files emitted by a L<mwrap-perl(1p)> via +C<MWRAP=dump_csv:$FILENAME> or retrieved directly via C<curl --unix-socket>. + +It is not needed for CSVs retrieved via L<mwrap-rproxy(1p)>, +since mwrap-rproxy already performs the same function as mwrap-decode-csv. + +To get useful C backtraces of Perl programs, C<MWRAP=bt:$DEPTH> +directive must be used (carefully). See L<mwrap-perl(1p)>. + +addr2line from GNU binutils 2.39+ (August 2022) is recommended to +support C<SYMBOL+OFFSET> addresses. + +=head1 CONTACT + +Feedback welcome via plain-text mail to L<mailto:mwrap-perl@80x24.org> + +Mail archives are hosted at L<https://80x24.org/mwrap-perl/> + +=head1 COPYRIGHT + +Copyright all contributors L<mailto:mwrap-perl@80x24.org> + +License: GPL-3.0+ L<https://www.gnu.org/licenses/gpl-3.0.txt> + +Source code is at L<https://80x24.org/mwrap-perl.git/> + +=head1 SEE ALSO + +L<mwrap-perl(1p)>, L<mwrap-rproxy(1)> + +=cut |