diff options
| author | Glenn Smith <glenn@vector35.com> | 2023-02-16 17:09:23 -0500 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2023-02-16 17:09:23 -0500 |
| commit | 7648038513118559961928065497737481975723 (patch) | |
| tree | 62446ccdbb08cd7c92c8750d90161731317f07ea /docs/guide | |
| parent | 9d8bc846bd213407fb1a7a19af2a96f17501ac3b (diff) | |
Docs for PDB: Allow Untyped Symbols
Diffstat (limited to 'docs/guide')
| -rw-r--r-- | docs/guide/index.md | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/docs/guide/index.md b/docs/guide/index.md index 5c70043b..db2061a9 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -628,7 +628,8 @@ If you know the location of the PDB in advance, or it would not be found by any The PDB loader comes with a couple configuration options which enable and disable various features and may improve your analysis results. They can be toggled for all files via settings, or for an individual file via Open with Options. -* **Allow Unnamed Void Symbol Types (default off)**: Some PDBs contain variables with no name and only a `void` type. These are most likely static local variables with no type information. This is off by default because there isn't much actionable information you can do with these, and they often cause confusion and duplicate symbols. +* **Allow Unnamed Untyped Symbols (default off)**: Some PDBs contain variables with no name and only a `void` type. These are most likely static local variables with no type information. This is off by default because there isn't much actionable information you can do with these, and they often cause confusion and duplicate symbols. +* **Allow Untyped Symbols (default on)**: In stripped PDBs, the Global Module (see: **Load Global Module Symbols**) can contain symbols whose name does not demangle to any type. Usually these are globals used in C code that doesn't mangle types into names. Having this on will allow creating these symbols without type information. * **Expand RTTI Structures (default on)**: This creates structures for RTTI symbols found within a PDB, like RTTI Class Type Information, RTTI Complete Object Locator, RTTI Class Hierarchy Descriptor, etc. No analysis information is currently derived from these structures, but they will have their fields annotated in Linear View. * **Generate Virtual Table Structures (default on)**: This generates structures for virtual tables found on classes in the PDB's types. Due to limitations of Binary Ninja's C++ type handling, these virtual table structures are just structures of function pointers, and may have incorrect behavior for types with multiple or virtual inheritance. * **Load Global Module Symbols (default on)**: The global module in a PDB contains a list of all the functions with no type information beyond a C++ mangled name. Generally, this information is less accurate than a full symbol type, but stripped PDBs from Microsoft's official PDB server (and ones created via the `/PDBSTRIPPED` link.exe flag) will only have information in this module. In the event that a symbol has both a defined type and a global module mangled name, the defined type will be used. |
