aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
AgeCommit message (Collapse)AuthorFilesLines
2016-06-09Search for llvm-symbolizer binary in the same directory as argv[0], beforeRichard Smith1-1/+1
looking for it along $PATH. This allows installs of LLVM tools outside of $PATH to find the symbolizer and produce pretty backtraces if they crash. llvm-svn: 272232
2016-06-03[Symbolize] Check if the PE file has a PDB and emit an error if we can't load itReid Kleckner1-6/+8
Summary: Previously we would try to load PDBs for every PE executable we tried to symbolize. If that failed, we would fall back to DWARF. If there wasn't any DWARF, we'd print mostly useless symbol information using the export table. With this change, we only try to load PDBs for executables that claim to have them. If that fails, we can now print an error rather than falling back silently. This should make it a lot easier to diagnose and fix common symbolization issues, such as not having DIA or not having a PDB. Reviewers: zturner, eugenis Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20982 llvm-svn: 271725
2016-01-09[llvm-symbolizer] -print-source-context-lines option to print source code ↵Mike Aizatsky1-1/+5
around the line. Differential Revision: http://reviews.llvm.org/D15909 llvm-svn: 257236
2016-01-07[llvm-symbolizer] Print out non-address lines verbatim.Mike Aizatsky1-13/+21
Differential Revision: http://reviews.llvm.org/D15876 llvm-svn: 257115
2015-11-11[Symbolizer]: Add -pretty-print optionHemant Kulkarni1-2/+9
Differential Revision: http://reviews.llvm.org/D13671 llvm-svn: 252798
2015-11-11Reverting r252760Colin LeMahieu1-9/+2
llvm-svn: 252770
2015-11-11[Symbolizer]: Add -pretty-print optionHemant Kulkarni1-2/+9
Differential Revision: http://reviews.llvm.org/D13671 llvm-svn: 252760
2015-11-04[LLVMSymbolize] Properly propagate object parsing errors from the library.Alexey Samsonov1-3/+14
llvm-svn: 252021
2015-11-03[LLVMSymbolize] Factor out the logic for printing structs from DIContext. NFC.Alexey Samsonov1-6/+11
Introduce DIPrinter which takes care of rendering DILineInfo and friends. This allows LLVMSymbolizer class to return a structured data instead of plain std::strings. llvm-svn: 251989
2015-10-30Let the users of LLVMSymbolizer decide whether they want to symbolize ↵Alexey Samsonov1-3/+4
inlined frames. Introduce LLVMSymbolizer::symbolizeInlinedCode() instead of switching on PrintInlining option passed to the constructor. This will be needed once we retrun structured data (instead of std::string) from LLVMSymbolizer and move printing logic out. llvm-svn: 251675
2015-10-26Move parts of llvm-symbolizer tool into LLVMSymbolize library.Alexey Samsonov1-1/+1
Summary: See http://lists.llvm.org/pipermail/llvm-dev/2015-October/091624.html Reviewers: echristo Subscribers: llvm-commits, aizatsky Differential Revision: http://reviews.llvm.org/D13998 llvm-svn: 251316
2015-10-24Simplify boolean conditional return statements in tools/llvm-symbolizer.Rafael Espindola1-3/+1
Patch by Richard. llvm-svn: 251216
2015-10-12[llvm-symbolizer] Add -print-address optionHemant Kulkarni1-0/+8
Differential Revision: http://reviews.llvm.org/D13518 llvm-svn: 250086
2015-10-12[llvm-symbolizer] Reverting r250067Colin LeMahieu1-8/+0
llvm-svn: 250072
2015-10-12[llvm-symbolizer] Add -print-address optionHemant Kulkarni1-0/+8
Differential Revision http://reviews.llvm.org/D13518 llvm-svn: 250067
2015-05-06A few fixes for llvm-symbolizer on Windows.Zachary Turner1-4/+10
Specifically, this patch correctly respects the -demangle option, and additionally adds a hidden --relative-address option allows input addresses to be relative to the module load address instead of absolute addresses into the image. llvm-svn: 236653
2015-04-27Make llvm-symbolizer work on Windows.Zachary Turner1-0/+4
Differential Revision: http://reviews.llvm.org/D9234 Reviewed By: Alexey Samsonov llvm-svn: 235900
2015-03-23Purge unused includes throughout libSupport.Benjamin Kramer1-0/+1
NFC. llvm-svn: 232976
2014-10-17[llvm-symbolizer] Introduce the -dsym-hint option.Alexander Potapenko1-0/+14
llvm-symbolizer will consult one of the .dSYM paths passed via -dsym-hint if it fails to find the .dSYM bundle at the default location. llvm-svn: 220004
2014-06-13Remove 'using std::error_code' from tools.Rafael Espindola1-1/+0
llvm-svn: 210876
2014-06-12Don't use 'using std::error_code' in include/llvm.Rafael Espindola1-0/+1
This should make sure that most new uses use the std prefix. llvm-svn: 210835
2014-05-17[DWARF parser] Teach DIContext to fetch short (non-linkage) function names ↵Alexey Samsonov1-4/+9
for a given address. Change --functions option in llvm-symbolizer tool to accept values "none", "short" or "linkage". Update the tests and docs accordingly. llvm-svn: 209050
2014-04-25[C++] Use 'nullptr'. Tools edition.Craig Topper1-1/+1
llvm-svn: 207176
2013-12-24llvm-symbolizer: add --obj flag to specify a single object file that should ↵Alexey Samsonov1-17/+24
be symbolized. llvm-svn: 197988
2013-06-28llvm-symbolizer: add support for Mach-O universal binariesAlexey Samsonov1-1/+5
llvm-svn: 185137
2013-04-05llvm-symbolizer: correctly parse filenames given in quotesAlexey Samsonov1-5/+18
llvm-svn: 178859
2013-02-15clang-formatize llvm-symbolizer codeAlexey Samsonov1-11/+9
llvm-svn: 175255
2013-01-22llvm-symbolizer: factor out bits of the tool into separate ↵Alexey Samsonov1-288/+20
LLVMSymbolize.{h,cpp} files. No functionality change. llvm-svn: 173159
2013-01-11llvm-symbolizer: add DATA command that allows to symbolize global variables.Dmitry Vyukov1-34/+88
Example: >DATA bin/clang 0x26e8e40 <llvm::SparcSubTypeKV <40799808 416 The last line is address and size of the object. llvm-svn: 172180
2012-12-04Sort the #include lines for tools/...Chandler Carruth1-1/+0
Again, tools are trickier to pick the main module header for than library source files. I've started to follow the pattern of using LLVMContext.h when it is included as a stub for program source files. llvm-svn: 169252
2012-11-12Rewrite DIContext interface to take an object. Update all callers.Eric Christopher1-63/+3
llvm-svn: 167757
2012-11-12Don't use __cxa_demangle under MSVC (which doesn't have it)Alexander Potapenko1-1/+5
llvm-svn: 167730
2012-11-12[ASan] Add llvm-symbolizer from to tools/Alexander Potapenko1-0/+379
This is the second and last (2/2) part of a change that moves llvm-symbolizer to llvm/tools/, which will allow to build it with both cmake and configure+make. llvm-svn: 167723