summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-pdbdump
Commit message (Collapse)AuthorAgeFilesLines
...
* [llvm-pdbdump] Many minor fixes and improvementsZachary Turner2015-03-0210-64/+134
| | | | | | | | | | | | | | | | | A short list of some of the improvements: 1) Now supports -all command line argument, which implies many other command line arguments to simplify usage. 2) Now supports -no-compiler-generated command line argument to exclude compiler generated types. 3) Prints base class list. 4) -class-definitions implies -types. 5) Proper display of bitfields. 6) Can now distinguish between struct/class/interface/union. And a few other minor tweaks. llvm-svn: 230933
* [llvm-pdbdump] Fix GCC build.Zachary Turner2015-03-011-3/+10
| | | | llvm-svn: 230890
* [llvm-pdbdump] Clean up method signatures.Zachary Turner2015-03-0115-236/+154
| | | | llvm-svn: 230889
* [llvm-pdbdump] Add regex-based filtering.Zachary Turner2015-03-018-14/+114
| | | | llvm-svn: 230888
* [llvm-pdbdump] Better error handling.Zachary Turner2015-02-281-5/+20
| | | | | | | | | | | | | Previously it was impossible to distinguish between "There is no PDB implementation for this platform" and "I tried to load the PDB, but couldn't find the file", making it hard to figure out if you built llvm-pdbdump incorrectly or if you just mistyped a file name. This patch adds proper error handling so that we can know exactly what went wrong. llvm-svn: 230868
* [llvm-pdbdump] Fix member initialization order warnings.Zachary Turner2015-02-272-2/+2
| | | | llvm-svn: 230747
* [llvm-pdbdump] Colorize output.Zachary Turner2015-02-2718-191/+493
| | | | llvm-svn: 230746
* [llvm-pdbdump] Add support for dumping global variables.Zachary Turner2015-02-273-31/+48
| | | | llvm-svn: 230744
* [llvm-pdbdump] Add missing files.Zachary Turner2015-02-262-0/+105
| | | | llvm-svn: 230704
* [llvm-pdbdump] Fix dumping of function pointers and basic types.Zachary Turner2015-02-267-22/+47
| | | | | | | | | | | | Function pointers were not correctly handled by the dumper, and they would print as "* name". They now print as "int (__cdecl *name)(int arg1, int arg2)" as they should. Also, doubles were being printed as floats. This fixes that bug as well, and adds tests for all builtin types. as well as a test for function pointers. llvm-svn: 230703
* [llvm-pdbdump] Remove unused variables.Benjamin Kramer2015-02-232-6/+1
| | | | llvm-svn: 230216
* [llvm-pdbdump] Fix builders again.Zachary Turner2015-02-232-12/+13
| | | | llvm-svn: 230205
* [llvm-pdbdump] Very minor code cleanup.Zachary Turner2015-02-235-8/+1
| | | | | | | This just removes some dead enums as well as some debug flushes of stdout. llvm-svn: 230204
* [llvm-pdbdump] Add an option to dump full class definitions.Zachary Turner2015-02-2312-37/+512
| | | | | | | | | | | This adds the --class-definitions flag. If specified, when dumping types, instead of "class Foo" you will see the full class definition, with member functions, constructors, access specifiers. NOTE: Using this option can be very slow, as generating a full class definition requires accessing many different parts of the PDB. llvm-svn: 230203
* llvm-pdbdump: Fix gcc/clang buildDavid Majnemer2015-02-221-1/+1
| | | | llvm-svn: 230187
* [llvm-pdbdump] Fix a few compilation failures.Zachary Turner2015-02-222-3/+2
| | | | llvm-svn: 230186
* [llvm-pdbdump] Rewrite dumper using visitor pattern.Zachary Turner2015-02-2211-15/+683
| | | | | | | | | | This increases the flexibility of how to dump different symbol types -- necessary for context-sensitive formatting of symbol types -- and also improves the modularity by allowing the dumping to be implemented in the actual dumper, as opposed to in the PDB library. llvm-svn: 230184
* [llvm-pdbdump] Simplify options and output.Zachary Turner2015-02-221-71/+15
| | | | | | | | | This removes a wealth of options, and instead now only provides three options. -symbols, -types, and -compilands. This greatly simplifies use of the tool, and makes it easier to understand what you're going to see when you run the tool. llvm-svn: 230182
* llvm-pdbdump: Fix warning caused by missing sentinel value.Zachary Turner2015-02-151-3/+3
| | | | llvm-svn: 229331
* llvm-pdbdump: Add flags controlling the type of values to dump.Zachary Turner2015-02-151-9/+76
| | | | llvm-svn: 229330
* Re-sort #include lines using my handy dandy ./utils/sort_includes.pyChandler Carruth2015-02-131-5/+5
| | | | | | script. This is in preparation for changes to lots of include lines. llvm-svn: 229088
* llvm-pdbdump: Add more comprehensive dumping of symbol types.Zachary Turner2015-02-131-1/+2
| | | | | | | | | In particular this patch adds the ability to dump complete function signature information including argument types as correctly formatted strings. A side effect of this is that almost all symbol and meta types are now formatted. llvm-svn: 229076
* Add concrete type overloads to PDBSymbol::findChildren().Zachary Turner2015-02-121-5/+3
| | | | | | | | | | | | Frequently you only want to iterate over children of a specific type (e.g. functions). Previously you would get back a generic interface that allowed iteration over the base symbol type, which you would have to dyn_cast<> each one of. With this patch, we allow the user to specify the concrete type as a template parameter, and it will return an iterator which returns instances of the concrete type directly. llvm-svn: 228960
* Oops. Don't call Windows functions on non-windows.Zachary Turner2015-02-101-0/+8
| | | | llvm-svn: 228756
* Rewrite llvm-pdbdump in terms of LLVMDebugInfoPDB.Zachary Turner2015-02-1010-2229/+46
| | | | | | | | | | | | | This makes llvm-pdbdump available on all platforms, although it will currently fail to create a dumper if there is no PDB reader implementation for the current platform. It implements dumping of compilands and children, which is less information than was previously available, but it has to be rewritten from scratch using the new set of interfaces, so the rest of the functionality will be added back in subsequent commits. llvm-svn: 228755
* Oops -- accidentally commit some debug code! Removing that code; NFC (this ↵Aaron Ballman2015-01-291-3/+1
| | | | | | time for real). llvm-svn: 227459
* Attempting to fix a build issue with MSVC 2012; NFCAaron Ballman2015-01-291-3/+5
| | | | llvm-svn: 227456
* [llvm-pdbdump] Add basic symbol dumping.Zachary Turner2015-01-281-5/+44
| | | | | | | | | | This adds two command line options: --symbols dumps a list of all symbols found in the PDB. --symbol-details dumps the same list, but with detailed information for every symbol such as type, attributes, etc. llvm-svn: 227286
* [llvm-pdbdump] Add support for printing source files and compilands.Zachary Turner2015-01-283-5/+149
| | | | | | | | | | | | | This adds two command line options to llvm-pdbdump. --source-files prints a flat list of all source files in the PDB. --compilands prints a list of all compilands (e.g. object files) that the PDB knows about, and for each one, a list of source files that the compiland is composed of as well as a hash of the original source file. llvm-svn: 227276
* [llvm-pdbdump] Print more friendly names for enum values.Zachary Turner2015-01-281-131/+131
| | | | llvm-svn: 227275
* Run dos2unix against llvm-pdbdump.Zachary Turner2015-01-276-1612/+1612
| | | | llvm-svn: 227262
* Add support for dumping debug tables to llvm-pdbdump.Zachary Turner2015-01-278-22/+1678
| | | | | | | | | | | | | PDB stores some of its data in streams and some in tables. This patch teaches llvm-pdbdump to dump basic summary data for the debug tables. In support of this, this patch also adds some DIA helper classes, such as a wrapper around an IDiaSymbol interface, as well as helpers for outputting various enumerations to a raw_ostream. llvm-svn: 227257
* Add llvm-pdbdump to tools.Zachary Turner2015-01-274-0/+490
llvm-pdbdump is a tool which can be used to dump the contents of Microsoft-generated PDB files. It makes use of the Microsoft DIA SDK, which is a COM based library designed specifically for this purpose. The initial commit of this tool dumps the raw bytes from PDB data streams. Future commits will dump more semantic information such as types, symbols, source files, etc similar to the types of information accessible via llvm-dwarfdump. Reviewed by: Aaron Ballman, Reid Kleckner, Chandler Carruth Differential Revision: http://reviews.llvm.org/D7153 llvm-svn: 227241
OpenPOWER on IntegriCloud