LLDB mainline
AppleObjCRuntimeV2.cpp File Reference
#include "Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/DebuggerEvents.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Section.h"
#include "lldb/Expression/DiagnosticManager.h"
#include "lldb/Expression/FunctionCaller.h"
#include "lldb/Expression/UtilityFunction.h"
#include "lldb/Host/OptionParser.h"
#include "lldb/Interpreter/CommandObject.h"
#include "lldb/Interpreter/CommandObjectMultiword.h"
#include "lldb/Interpreter/CommandReturnObject.h"
#include "lldb/Interpreter/OptionArgParser.h"
#include "lldb/Interpreter/OptionValueBoolean.h"
#include "lldb/Symbol/CompilerType.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Symbol/TypeList.h"
#include "lldb/Symbol/VariableList.h"
#include "lldb/Target/ABI.h"
#include "lldb/Target/DynamicLoader.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/LanguageRuntime.h"
#include "lldb/Target/Platform.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StackFrameRecognizer.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Scalar.h"
#include "lldb/Utility/Status.h"
#include "lldb/Utility/Stream.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/Timer.h"
#include "lldb/ValueObject/ValueObjectConstResult.h"
#include "lldb/ValueObject/ValueObjectVariable.h"
#include "lldb/lldb-enumerations.h"
#include "AppleObjCClassDescriptorV2.h"
#include "AppleObjCDeclVendor.h"
#include "AppleObjCRuntimeV2.h"
#include "AppleObjCTrampolineHandler.h"
#include "AppleObjCTypeEncodingParser.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/DeclObjC.h"
#include "clang/Basic/TargetInfo.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/ScopeExit.h"
#include <cstdint>
#include <memory>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  CommandObjectObjC_ClassTable_Dump
class  CommandObjectObjC_ClassTable_Dump::CommandOptions
class  CommandObjectMultiwordObjC_TaggedPointer_Info
class  CommandObjectMultiwordObjC_ClassTable
class  CommandObjectMultiwordObjC_TaggedPointer
class  CommandObjectMultiwordObjC
class  RemoteNXMapTable
class  RemoteNXMapTable::const_iterator
class  ObjCExceptionRecognizedStackFrame
class  ObjCExceptionThrowFrameRecognizer

Functions

static uint64_t ExtractRuntimeGlobalSymbol (Process *process, ConstString name, const ModuleSP &module_sp, Status &error, bool read_value=true, uint8_t byte_size=0, uint64_t default_value=LLDB_INVALID_ADDRESS, SymbolType sym_type=lldb::eSymbolTypeData)
static llvm::SmallVector< RuntimeGlobalSymbolResult > ExtractRuntimeGlobalSymbolsBatched (Process *process, const ModuleSP &module_sp, llvm::ArrayRef< RuntimeGlobalSymbolSpec > specs)
 Batched version of ExtractRuntimeGlobalSymbol.
static void RegisterObjCExceptionRecognizer (Process *process)
static bool DoesProcessHaveSharedCache (Process &process)

Variables

static const char * g_get_dynamic_class_info_name
static const char * g_get_dynamic_class_info_body
static const char * g_get_dynamic_class_info2_name
static const char * g_get_dynamic_class_info2_body
static const char * g_get_dynamic_class_info3_name
static const char * g_get_dynamic_class_info3_body
static const char * g_shared_cache_class_name_funcptr
static const char * g_get_shared_cache_class_info_name
static const char * g_get_shared_cache_class_info_definitions
static const char * g_get_shared_cache_class_info_body
static constexpr OptionDefinition g_objc_classtable_dump_options []

Function Documentation

◆ DoesProcessHaveSharedCache()

bool DoesProcessHaveSharedCache ( Process & process)
static

Definition at line 2739 of file AppleObjCRuntimeV2.cpp.

◆ ExtractRuntimeGlobalSymbol()

◆ ExtractRuntimeGlobalSymbolsBatched()

llvm::SmallVector< RuntimeGlobalSymbolResult > ExtractRuntimeGlobalSymbolsBatched ( Process * process,
const ModuleSP & module_sp,
llvm::ArrayRef< RuntimeGlobalSymbolSpec > specs )
static

◆ RegisterObjCExceptionRecognizer()

void RegisterObjCExceptionRecognizer ( Process * process)
static

Variable Documentation

◆ g_get_dynamic_class_info2_body

const char* g_get_dynamic_class_info2_body
static

◆ g_get_dynamic_class_info2_name

const char* g_get_dynamic_class_info2_name
static
Initial value:
=
"__lldb_apple_objc_v2_get_dynamic_class_info2"

Definition at line 182 of file AppleObjCRuntimeV2.cpp.

Referenced by lldb_private::AppleObjCRuntimeV2::DynamicClassInfoExtractor::ComputeHelper().

◆ g_get_dynamic_class_info3_body

const char* g_get_dynamic_class_info3_body
static

Definition at line 254 of file AppleObjCRuntimeV2.cpp.

◆ g_get_dynamic_class_info3_name

const char* g_get_dynamic_class_info3_name
static
Initial value:
=
"__lldb_apple_objc_v2_get_dynamic_class_info3"

Definition at line 251 of file AppleObjCRuntimeV2.cpp.

◆ g_get_dynamic_class_info_body

const char* g_get_dynamic_class_info_body
static

◆ g_get_dynamic_class_info_name

const char* g_get_dynamic_class_info_name
static
Initial value:
=
"__lldb_apple_objc_v2_get_dynamic_class_info"

Definition at line 92 of file AppleObjCRuntimeV2.cpp.

Referenced by lldb_private::AppleObjCRuntimeV2::DynamicClassInfoExtractor::GetClassInfoArgs().

◆ g_get_shared_cache_class_info_body

const char* g_get_shared_cache_class_info_body
static

Definition at line 434 of file AppleObjCRuntimeV2.cpp.

◆ g_get_shared_cache_class_info_definitions

const char* g_get_shared_cache_class_info_definitions
static

Definition at line 341 of file AppleObjCRuntimeV2.cpp.

◆ g_get_shared_cache_class_info_name

const char* g_get_shared_cache_class_info_name
static
Initial value:
=
"__lldb_apple_objc_v2_get_shared_cache_class_info"

Definition at line 338 of file AppleObjCRuntimeV2.cpp.

◆ g_objc_classtable_dump_options

OptionDefinition g_objc_classtable_dump_options[]
staticconstexpr
Initial value:
= {
false,
"verbose",
'v',
nullptr,
{},
0,
"Print ivar and method information in detail"}}
#define LLDB_OPT_SET_ALL

Definition at line 963 of file AppleObjCRuntimeV2.cpp.

Referenced by CommandObjectObjC_ClassTable_Dump::CommandOptions::GetDefinitions().

◆ g_shared_cache_class_name_funcptr

const char* g_shared_cache_class_name_funcptr
static
Initial value:
= R"(
extern "C"
{
const char *{0}(void *objc_class);
const char *(*class_name_lookup_func)(void *) = {1};
}
)"

Definition at line 330 of file AppleObjCRuntimeV2.cpp.