freebsd-dev/usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1
2016-03-03 23:09:57 +00:00

164 lines
4.0 KiB
Groff

.\" $FreeBSD$
.\" Man page generated from reStructuredText.
.
.TH "LLVM-SYMBOLIZER" "1" "2016-03-03" "3.8" "LLVM"
.SH NAME
llvm-symbolizer \- convert addresses into source code locations
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH SYNOPSIS
.sp
\fBllvm\-symbolizer\fP [options]
.SH DESCRIPTION
.sp
\fBllvm\-symbolizer\fP reads object file names and addresses from standard
input and prints corresponding source code locations to standard output.
If object file is specified in command line, \fBllvm\-symbolizer\fP
processes only addresses from standard input, the rest is output verbatim.
This program uses debug info sections and symbol table in the object files.
.SH EXAMPLE
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ cat addr.txt
a.out 0x4004f4
/tmp/b.out 0x400528
/tmp/c.so 0x710
/tmp/mach_universal_binary:i386 0x1f84
/tmp/mach_universal_binary:x86_64 0x100000f24
$ llvm\-symbolizer < addr.txt
main
/tmp/a.cc:4
f(int, int)
/tmp/b.cc:11
h_inlined_into_g
/tmp/header.h:2
g_inlined_into_f
/tmp/header.h:7
f_inlined_into_main
/tmp/source.cc:3
main
/tmp/source.cc:8
_main
/tmp/source_i386.cc:8
_main
/tmp/source_x86_64.cc:8
$ cat addr2.txt
0x4004f4
0x401000
$ llvm\-symbolizer \-obj=a.out < addr2.txt
main
/tmp/a.cc:4
foo(int)
/tmp/a.cc:12
$cat addr.txt
0x40054d
$llvm\-symbolizer \-inlining \-print\-address \-pretty\-print \-obj=addr.exe < addr.txt
0x40054d: inc at /tmp/x.c:3:3
(inlined by) main at /tmp/x.c:9:0
$llvm\-symbolizer \-inlining \-pretty\-print \-obj=addr.exe < addr.txt
inc at /tmp/x.c:3:3
(inlined by) main at /tmp/x.c:9:0
.ft P
.fi
.UNINDENT
.UNINDENT
.SH OPTIONS
.INDENT 0.0
.TP
.B \-obj
Path to object file to be symbolized.
.UNINDENT
.INDENT 0.0
.TP
.B \-functions=[none|short|linkage]
Specify the way function names are printed (omit function name,
print short function name, or print full linkage name, respectively).
Defaults to \fBlinkage\fP\&.
.UNINDENT
.INDENT 0.0
.TP
.B \-use\-symbol\-table
Prefer function names stored in symbol table to function names
in debug info sections. Defaults to true.
.UNINDENT
.INDENT 0.0
.TP
.B \-demangle
Print demangled function names. Defaults to true.
.UNINDENT
.INDENT 0.0
.TP
.B \-inlining
If a source code location is in an inlined function, prints all the
inlnied frames. Defaults to true.
.UNINDENT
.INDENT 0.0
.TP
.B \-default\-arch
If a binary contains object files for multiple architectures (e.g. it is a
Mach\-O universal binary), symbolize the object file for a given architecture.
You can also specify architecture by writing \fBbinary_name:arch_name\fP in the
input (see example above). If architecture is not specified in either way,
address will not be symbolized. Defaults to empty string.
.UNINDENT
.INDENT 0.0
.TP
.B \-dsym\-hint=<path/to/file.dSYM>
(Darwin\-only flag). If the debug info for a binary isn\(aqt present in the default
location, look for the debug info at the .dSYM path provided via the
\fB\-dsym\-hint\fP flag. This flag can be used multiple times.
.UNINDENT
.INDENT 0.0
.TP
.B \-print\-address
Print address before the source code location. Defaults to false.
.UNINDENT
.INDENT 0.0
.TP
.B \-pretty\-print
Print human readable output. If \fB\-inlining\fP is specified, enclosing scope is
prefixed by (inlined by). Refer to listed examples.
.UNINDENT
.SH EXIT STATUS
.sp
\fBllvm\-symbolizer\fP returns 0. Other exit codes imply internal program error.
.SH AUTHOR
Maintained by The LLVM Team (http://llvm.org/).
.SH COPYRIGHT
2003-2016, LLVM Project
.\" Generated by docutils manpage writer.
.