LLDB  mainline
Classes | Enumerations | Functions
lldb_private::repro Namespace Reference

Classes

class  AbstractRecorder
 The recorder is a small object handed out by a provider to record data. More...
 
class  CommandProvider
 
struct  construct
 To be used as the "Runtime ID" of a constructor. More...
 
struct  construct< Class(Args...)>
 
class  DataRecorder
 Recorder that records its data as text to a file. More...
 
struct  DefaultReplayer
 The default replayer deserializes the arguments and calls the function. More...
 
struct  DefaultReplayer< Result(Args...)>
 
struct  DefaultReplayer< void(Args...)>
 Partial specialization for function returning a void type. More...
 
struct  DeserializationHelper
 Helpers to auto-synthesize function replay code. More...
 
struct  DeserializationHelper< Head, Tail... >
 
struct  DeserializationHelper<>
 
class  Deserializer
 Deserializes data from a buffer. More...
 
class  DirectoryProvider
 Abstract provider to storing directory paths. More...
 
struct  EmptyArg
 
class  FileProvider
 
class  FlushingFileCollector
 
struct  FundamentalPointerTag
 
struct  FundamentalReferenceTag
 
class  GDBRemoteProvider
 
class  Generator
 The generator is responsible for the logic needed to generate a reproducer. More...
 
class  HomeDirectoryProvider
 Provider for the home directory. More...
 
class  IndexToObject
 Mapping between serialized indices and their corresponding objects. More...
 
class  InstrumentationData
 
struct  invoke
 To be used as the "Runtime ID" of a member function. More...
 
struct  invoke< Result(*)(Args...)>
 
struct  invoke< Result(Class::*)(Args...) const >
 
struct  invoke< Result(Class::*)(Args...)>
 
struct  invoke< void(*)(Args...)>
 
struct  invoke< void(Class::*)(Args...) const >
 
struct  invoke< void(Class::*)(Args...)>
 
struct  invoke_char_ptr
 Special handling for functions returning strings as (char*, size_t). More...
 
struct  invoke_char_ptr< Result(*)(Args...)>
 
struct  invoke_char_ptr< Result(Class::*)(Args...) const >
 
struct  invoke_char_ptr< Result(Class::*)(Args...)>
 
struct  is_trivially_serializable
 
class  Loader
 
class  MultiLoader
 Loader for data captured with the MultiProvider. More...
 
class  MultiProvider
 The MultiProvider is a provider that hands out recorder which can be used to capture data for different instances of the same object. More...
 
class  ObjectToIndex
 Maps an object to an index for serialization. More...
 
class  PacketRecorder
 
struct  PointerTag
 We need to differentiate between pointers to fundamental and non-fundamental types. More...
 
class  ProcessInfoProvider
 
class  ProcessInfoRecorder
 
class  Provider
 
class  ProviderBase
 The provider defines an interface for generating files needed for reproducing. More...
 
class  Recorder
 RAII object that records function invocations and their return value. More...
 
struct  ReferenceTag
 
class  Registry
 The registry contains a unique mapping between functions and their ID. More...
 
struct  replay
 
struct  replay< Result(Class::*)(Args...)>
 
class  ReplayData
 
struct  Replayer
 The replayer interface. More...
 
struct  ReplayOptions
 
class  Reproducer
 The reproducer enables clients to obtain access to the Generator and Loader. More...
 
class  SBProvider
 
class  SBRegistry
 
class  Serializer
 Serializes functions, their arguments and their return type to a stream. More...
 
struct  serializer_tag
 Return the deserialization tag for the given type T. More...
 
struct  serializer_tag< T & >
 
struct  serializer_tag< T * >
 
class  SymbolFileLoader
 
class  SymbolFileProvider
 Provider for mapping UUIDs to symbol and executable files. More...
 
struct  ValueTag
 
class  Verifier
 
class  VersionProvider
 Provider for the LLDB version number. More...
 
class  WorkingDirectoryProvider
 Provider for the current working directory. More...
 
class  YamlRecorder
 Recorder that records its data as YAML to a file. More...
 

Enumerations

enum  ReproducerMode { ReproducerMode::Capture, ReproducerMode::Replay, ReproducerMode::PassiveReplay, ReproducerMode::Off }
 

Functions

llvm::Optional< ProcessInstanceInfoListGetReplayProcessInstanceInfoList ()
 
llvm::Error Finalize (Loader *loader)
 
llvm::Error Finalize (const FileSpec &root)
 
template<typename T >
llvm::Expected< std::stringGetDirectoryFrom (repro::Loader *loader)
 Helper to read directories written by the DirectoryProvider. More...
 
template<>
void RegisterMethods< SBAddress > (Registry &R)
 
template<>
void RegisterMethods< SBAttachInfo > (Registry &R)
 
template<>
void RegisterMethods< SBBlock > (Registry &R)
 
template<>
void RegisterMethods< SBBreakpoint > (Registry &R)
 
template<>
void RegisterMethods< SBBreakpointList > (Registry &R)
 
template<>
void RegisterMethods< SBBreakpointLocation > (Registry &R)
 
template<>
void RegisterMethods< SBBreakpointName > (Registry &R)
 
template<>
void RegisterMethods< SBBroadcaster > (Registry &R)
 
template<>
void RegisterMethods< SBCommandInterpreter > (Registry &R)
 
template<>
void RegisterMethods< SBCommandInterpreterRunOptions > (Registry &R)
 
template<>
void RegisterMethods< SBCommandReturnObject > (Registry &R)
 
template<>
void RegisterMethods< SBCommunication > (Registry &R)
 
template<>
void RegisterMethods< SBCompileUnit > (Registry &R)
 
template<>
void RegisterMethods< SBData > (Registry &R)
 
template<>
void RegisterMethods< SBInputReader > (Registry &R)
 
static void SetFileHandleRedirect (SBDebugger *, FILE *, bool)
 
static SBError SetFileRedirect (SBDebugger *, SBFile file)
 
static SBError SetFileRedirect (SBDebugger *, FileSP file)
 
template<>
void RegisterMethods< SBDebugger > (Registry &R)
 
template<>
void RegisterMethods< SBDeclaration > (Registry &R)
 
template<>
void RegisterMethods< SBEnvironment > (Registry &R)
 
template<>
void RegisterMethods< SBError > (Registry &R)
 
template<>
void RegisterMethods< SBEvent > (Registry &R)
 
template<>
void RegisterMethods< SBExecutionContext > (Registry &R)
 
template<>
void RegisterMethods< SBExpressionOptions > (Registry &R)
 
template<>
void RegisterMethods< SBFile > (Registry &R)
 
template<>
void RegisterMethods< SBFileSpec > (Registry &R)
 
template<>
void RegisterMethods< SBFileSpecList > (Registry &R)
 
template<>
void RegisterMethods< SBFrame > (Registry &R)
 
template<>
void RegisterMethods< SBFunction > (Registry &R)
 
template<>
void RegisterMethods< SBHostOS > (Registry &R)
 
template<>
void RegisterMethods< SBInstruction > (Registry &R)
 
template<>
void RegisterMethods< SBInstructionList > (Registry &R)
 
template<>
void RegisterMethods< SBLanguageRuntime > (Registry &R)
 
template<>
void RegisterMethods< SBLaunchInfo > (Registry &R)
 
template<>
void RegisterMethods< SBLineEntry > (Registry &R)
 
template<>
void RegisterMethods< SBListener > (Registry &R)
 
template<>
void RegisterMethods< SBMemoryRegionInfo > (Registry &R)
 
template<>
void RegisterMethods< SBMemoryRegionInfoList > (Registry &R)
 
template<>
void RegisterMethods< SBModule > (Registry &R)
 
template<>
void RegisterMethods< SBModuleSpec > (Registry &R)
 
template<>
void RegisterMethods< SBPlatformConnectOptions > (Registry &R)
 
template<>
void RegisterMethods< SBPlatformShellCommand > (Registry &R)
 
template<>
void RegisterMethods< SBPlatform > (Registry &R)
 
template<>
void RegisterMethods< SBProcess > (Registry &R)
 
template<>
void RegisterMethods< SBProcessInfo > (Registry &R)
 
template<>
void RegisterMethods< SBQueue > (Registry &R)
 
template<>
void RegisterMethods< SBQueueItem > (Registry &R)
 
template<typename T >
void RegisterMethods (Registry &R)
 
template<>
void RegisterMethods< SBSection > (Registry &R)
 
template<>
void RegisterMethods< SBSourceManager > (Registry &R)
 
template<>
void RegisterMethods< SBStream > (Registry &R)
 
template<>
void RegisterMethods< SBStringList > (Registry &R)
 
template<>
void RegisterMethods< SBStructuredData > (Registry &R)
 
template<>
void RegisterMethods< SBSymbol > (Registry &R)
 
template<>
void RegisterMethods< SBSymbolContext > (Registry &R)
 
template<>
void RegisterMethods< SBSymbolContextList > (Registry &R)
 
template<>
void RegisterMethods< SBTarget > (Registry &R)
 
template<>
void RegisterMethods< SBThread > (Registry &R)
 
template<>
void RegisterMethods< SBThreadCollection > (Registry &R)
 
template<>
void RegisterMethods< SBThreadPlan > (Registry &R)
 
template<>
void RegisterMethods< SBTrace > (Registry &R)
 
template<>
void RegisterMethods< SBType > (Registry &R)
 
template<>
void RegisterMethods< SBTypeCategory > (Registry &R)
 
template<>
void RegisterMethods< SBTypeEnumMember > (Registry &R)
 
template<>
void RegisterMethods< SBTypeFilter > (Registry &R)
 
template<>
void RegisterMethods< SBTypeFormat > (Registry &R)
 
template<>
void RegisterMethods< SBTypeNameSpecifier > (Registry &R)
 
template<>
void RegisterMethods< SBTypeSummaryOptions > (Registry &R)
 
template<>
void RegisterMethods< SBTypeSummary > (Registry &R)
 
template<>
void RegisterMethods< SBTypeSynthetic > (Registry &R)
 
template<>
void RegisterMethods< SBUnixSignals > (Registry &R)
 
template<>
void RegisterMethods< SBValue > (Registry &R)
 
template<>
void RegisterMethods< SBValueList > (Registry &R)
 
template<>
void RegisterMethods< SBVariablesOptions > (Registry &R)
 
template<>
void RegisterMethods< SBWatchpoint > (Registry &R)
 

Enumeration Type Documentation

◆ ReproducerMode

Enumerator
Capture 
Replay 
PassiveReplay 
Off 

Definition at line 30 of file Reproducer.h.

Function Documentation

◆ Finalize() [1/2]

llvm::Error lldb_private::repro::Finalize ( const FileSpec root)

Definition at line 397 of file Reproducer.cpp.

References Finalize(), and lldb_private::repro::Loader::LoadIndex().

◆ Finalize() [2/2]

llvm::Error lldb_private::repro::Finalize ( Loader loader)

◆ GetDirectoryFrom()

template<typename T >
llvm::Expected<std::string> lldb_private::repro::GetDirectoryFrom ( repro::Loader loader)

Helper to read directories written by the DirectoryProvider.

Definition at line 409 of file ReproducerProvider.h.

References lldb_private::repro::Loader::LoadBuffer(), and string().

◆ GetReplayProcessInstanceInfoList()

llvm::Optional< ProcessInstanceInfoList > lldb_private::repro::GetReplayProcessInstanceInfoList ( )

◆ RegisterMethods()

template<typename T >
void lldb_private::repro::RegisterMethods ( Registry R)

◆ RegisterMethods< SBAddress >()

◆ RegisterMethods< SBAttachInfo >()

◆ RegisterMethods< SBBlock >()

◆ RegisterMethods< SBBreakpoint >()

◆ RegisterMethods< SBBreakpointList >()

◆ RegisterMethods< SBBreakpointLocation >()

◆ RegisterMethods< SBBreakpointName >()

◆ RegisterMethods< SBBroadcaster >()

◆ RegisterMethods< SBCommandInterpreter >()

◆ RegisterMethods< SBCommandInterpreterRunOptions >()

◆ RegisterMethods< SBCommandReturnObject >()

◆ RegisterMethods< SBCommunication >()

◆ RegisterMethods< SBCompileUnit >()

◆ RegisterMethods< SBData >()

◆ RegisterMethods< SBDebugger >()

◆ RegisterMethods< SBDeclaration >()

◆ RegisterMethods< SBEnvironment >()

◆ RegisterMethods< SBError >()

◆ RegisterMethods< SBEvent >()

◆ RegisterMethods< SBExecutionContext >()

◆ RegisterMethods< SBExpressionOptions >()

◆ RegisterMethods< SBFile >()

◆ RegisterMethods< SBFileSpec >()

◆ RegisterMethods< SBFileSpecList >()

◆ RegisterMethods< SBFrame >()

◆ RegisterMethods< SBFunction >()

◆ RegisterMethods< SBHostOS >()

Definition at line 181 of file SBHostOS.cpp.

References LLDB_REGISTER_STATIC_METHOD.

Referenced by lldb_private::repro::SBRegistry::SBRegistry().

◆ RegisterMethods< SBInputReader >()

◆ RegisterMethods< SBInstruction >()

◆ RegisterMethods< SBInstructionList >()

◆ RegisterMethods< SBLanguageRuntime >()

◆ RegisterMethods< SBLaunchInfo >()

◆ RegisterMethods< SBLineEntry >()

◆ RegisterMethods< SBListener >()

◆ RegisterMethods< SBMemoryRegionInfo >()

◆ RegisterMethods< SBMemoryRegionInfoList >()

◆ RegisterMethods< SBModule >()

◆ RegisterMethods< SBModuleSpec >()

◆ RegisterMethods< SBPlatform >()

◆ RegisterMethods< SBPlatformConnectOptions >()

◆ RegisterMethods< SBPlatformShellCommand >()

◆ RegisterMethods< SBProcess >()

◆ RegisterMethods< SBProcessInfo >()

◆ RegisterMethods< SBQueue >()

◆ RegisterMethods< SBQueueItem >()

◆ RegisterMethods< SBSection >()

◆ RegisterMethods< SBSourceManager >()

◆ RegisterMethods< SBStream >()

◆ RegisterMethods< SBStringList >()

◆ RegisterMethods< SBStructuredData >()

◆ RegisterMethods< SBSymbol >()

◆ RegisterMethods< SBSymbolContext >()

◆ RegisterMethods< SBSymbolContextList >()

◆ RegisterMethods< SBTarget >()

◆ RegisterMethods< SBThread >()

◆ RegisterMethods< SBThreadCollection >()

◆ RegisterMethods< SBThreadPlan >()

◆ RegisterMethods< SBTrace >()

◆ RegisterMethods< SBType >()

◆ RegisterMethods< SBTypeCategory >()

◆ RegisterMethods< SBTypeEnumMember >()

◆ RegisterMethods< SBTypeFilter >()

◆ RegisterMethods< SBTypeFormat >()

◆ RegisterMethods< SBTypeNameSpecifier >()

◆ RegisterMethods< SBTypeSummary >()

◆ RegisterMethods< SBTypeSummaryOptions >()

◆ RegisterMethods< SBTypeSynthetic >()

◆ RegisterMethods< SBUnixSignals >()

◆ RegisterMethods< SBValue >()

◆ RegisterMethods< SBValueList >()

◆ RegisterMethods< SBVariablesOptions >()

◆ RegisterMethods< SBWatchpoint >()

◆ SetFileHandleRedirect()

static void lldb_private::repro::SetFileHandleRedirect ( SBDebugger ,
FILE *  ,
bool   
)
static

Definition at line 1707 of file SBDebugger.cpp.

Referenced by RegisterMethods< SBDebugger >().

◆ SetFileRedirect() [1/2]

static SBError lldb_private::repro::SetFileRedirect ( SBDebugger ,
FileSP  file 
)
static

Definition at line 1713 of file SBDebugger.cpp.

References lldb::SBError.

Referenced by RegisterMethods< SBDebugger >().

◆ SetFileRedirect() [2/2]

static SBError lldb_private::repro::SetFileRedirect ( SBDebugger ,
SBFile  file 
)
static

Definition at line 1711 of file SBDebugger.cpp.

References lldb::SBError.