2015-01-10 22:22:42 +00:00
|
|
|
.\" $FreeBSD$
|
|
|
|
.\" Man page generated from reStructuredText.
|
|
|
|
.
|
2018-08-02 19:11:56 +00:00
|
|
|
.TH "LLVM-SYMBOLIZER" "1" "2018-08-02" "7" "LLVM"
|
2015-01-10 22:22:42 +00:00
|
|
|
.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.
|
2016-03-03 23:09:57 +00:00
|
|
|
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.
|
2015-01-10 22:22:42 +00:00
|
|
|
.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
|
2016-03-03 23:09:57 +00:00
|
|
|
$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
|
2015-01-10 22:22:42 +00:00
|
|
|
.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
|
2015-03-14 19:22:15 +00:00
|
|
|
.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
|
2016-03-03 23:09:57 +00:00
|
|
|
.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
|
2015-01-10 22:22:42 +00:00
|
|
|
.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
|
2018-08-02 19:11:56 +00:00
|
|
|
2003-2018, LLVM Project
|
2015-01-10 22:22:42 +00:00
|
|
|
.\" Generated by docutils manpage writer.
|
|
|
|
.
|