llvm-project/lldb/include/lldb
Greg Clayton a2154b1951 Cache the manual DWARF index out to the LLDB cache directory when the LLDB index cache is enabled.
This patch add the ability to cache the manual DWARF indexing results to disk for faster subsequent debug sessions. Manual DWARF indexing is time consuming and causes all DWARF to be fully parsed and indexed each time you debug a binary that doesn't have an acceptable accelerator table. Acceptable accelerator tables include .debug_names in DWARF5 or Apple accelerator tables.

This patch breaks up testing by testing all of the encoding and decoding of required C++ objects in a gtest unit test, and then has a test to verify the debug info cache is generated correctly.

This patch also adds the ability to track when a symbol table or DWARF index is loaded or saved to the cache in the "statistics dump" command. This is essential to know in statistics as it can help explain why a debug session was slower or faster than expected.

Reviewed By: labath, wallace

Differential Revision: https://reviews.llvm.org/D115951
2021-12-28 11:00:28 -08:00
..
API [lldb/python] Avoid more dangling pointers in python glue code 2021-12-22 13:47:06 +01:00
Breakpoint [lldb] Clarify StructuredDataImpl ownership 2021-12-13 21:04:51 +01:00
Core Remove redundant return and continue statements (NFC) 2021-12-24 23:17:54 -08:00
DataFormatters [lldb] (Partially) enable formatting of utf strings before the program is started 2021-11-18 14:45:17 +01:00
Expression Use StringRef instead of char* (NFC) 2021-12-15 14:48:39 -08:00
Host Added the ability to cache the finalized symbol tables subsequent debug sessions to start faster. 2021-12-16 09:59:55 -08:00
Initialization [lldb] Use C++11 default member initializers 2021-06-09 09:43:13 -07:00
Interpreter [lldb] Clarify StructuredDataImpl ownership 2021-12-13 21:04:51 +01:00
Symbol Cache the manual DWARF index out to the LLDB cache directory when the LLDB index cache is enabled. 2021-12-28 11:00:28 -08:00
Target Cache the manual DWARF index out to the LLDB cache directory when the LLDB index cache is enabled. 2021-12-28 11:00:28 -08:00
Utility Remove redundant return and continue statements (NFC) 2021-12-24 23:17:54 -08:00
Version [lldb] Make lldbVersion a full fledged library 2021-12-08 15:14:34 -08:00
lldb-defines.h [trace] Add a TraceCursor class 2021-06-23 22:28:01 -07:00
lldb-enumerations.h Add the ability to process save-core stack-memory-only corefiles 2021-08-11 13:37:31 -07:00
lldb-forward.h Added the ability to cache the finalized symbol tables subsequent debug sessions to start faster. 2021-12-16 09:59:55 -08:00
lldb-private-defines.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
lldb-private-enumerations.h [lldb] [client] Implement follow-fork-mode 2021-09-02 12:16:58 +02:00
lldb-private-forward.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
lldb-private-interfaces.h [trace] Add the definition of a TraceExporter plugin 2021-07-26 18:01:50 -07:00
lldb-private-types.h [lldb] [ABI/X86] Support combining xmm* and ymm*h regs into ymm* 2021-10-20 15:06:45 +02:00
lldb-private.h [lldb] Make lldbVersion a full fledged library 2021-12-08 15:14:34 -08:00
lldb-public.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
lldb-types.h [lldb][NFC] Use C++ versions of the deprecated C standard library headers 2021-05-26 12:46:12 +02:00
lldb-versioning.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
module.modulemap [lldb] Move StringConvert inside debugserver 2021-09-27 14:32:42 +02:00