LLDB  mainline
Classes | Macros | Typedefs | Enumerations | Functions | Variables
DynamicLoaderDarwinKernel.cpp File Reference
#include "Plugins/Platform/MacOSX/PlatformDarwinKernel.h"
#include "lldb/Breakpoint/StoppointCallbackContext.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Section.h"
#include "lldb/Core/StreamFile.h"
#include "lldb/Interpreter/OptionValueProperties.h"
#include "lldb/Symbol/LocateSymbolFile.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Target/OperatingSystem.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/ThreadPlanRunToAddress.h"
#include "lldb/Utility/DataBuffer.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/State.h"
#include "DynamicLoaderDarwinKernel.h"
#include <algorithm>
#include <memory>
#include "DynamicLoaderDarwinKernelProperties.inc"
#include "DynamicLoaderDarwinKernelPropertiesEnum.inc"
Include dependency graph for DynamicLoaderDarwinKernel.cpp:

Go to the source code of this file.

Classes

class  DynamicLoaderDarwinKernelProperties
 

Macros

#define DEBUG_PRINTF(fmt, ...)
 
#define LLDB_PROPERTIES_dynamicloaderdarwinkernel
 
#define LLDB_PROPERTIES_dynamicloaderdarwinkernel
 

Typedefs

typedef std::shared_ptr< DynamicLoaderDarwinKernelPropertiesDynamicLoaderDarwinKernelPropertiesSP
 

Enumerations

enum  KASLRScanType { eKASLRScanNone = 0, eKASLRScanLowgloAddresses, eKASLRScanNearPC, eKASLRScanExhaustiveScan }
 
enum  
 

Functions

static const DynamicLoaderDarwinKernelPropertiesSPGetGlobalProperties ()
 

Variables

static constexpr OptionEnumValueElement g_kaslr_kernel_scan_enum_values []
 

Macro Definition Documentation

◆ DEBUG_PRINTF

#define DEBUG_PRINTF (   fmt,
  ... 
)

Definition at line 41 of file DynamicLoaderDarwinKernel.cpp.

◆ LLDB_PROPERTIES_dynamicloaderdarwinkernel [1/2]

#define LLDB_PROPERTIES_dynamicloaderdarwinkernel

Definition at line 94 of file DynamicLoaderDarwinKernel.cpp.

◆ LLDB_PROPERTIES_dynamicloaderdarwinkernel [2/2]

#define LLDB_PROPERTIES_dynamicloaderdarwinkernel

Definition at line 94 of file DynamicLoaderDarwinKernel.cpp.

Typedef Documentation

◆ DynamicLoaderDarwinKernelPropertiesSP

Definition at line 128 of file DynamicLoaderDarwinKernel.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definition at line 93 of file DynamicLoaderDarwinKernel.cpp.

◆ KASLRScanType

Enumerator
eKASLRScanNone 
eKASLRScanLowgloAddresses 
eKASLRScanNearPC 
eKASLRScanExhaustiveScan 

Definition at line 54 of file DynamicLoaderDarwinKernel.cpp.

Function Documentation

◆ GetGlobalProperties()

static const DynamicLoaderDarwinKernelPropertiesSP& GetGlobalProperties ( )
static

Variable Documentation

◆ g_kaslr_kernel_scan_enum_values

constexpr OptionEnumValueElement g_kaslr_kernel_scan_enum_values[]
staticconstexpr
Initial value:
= {
{
"none",
"Do not read memory looking for a Darwin kernel when attaching.",
},
{
"basic",
"Check for the Darwin kernel's load addr in the lowglo page "
"(boot-args=debug) only.",
},
{
"fast-scan",
"Scan near the pc value on attach to find the Darwin kernel's load "
"address.",
},
{
"exhaustive-scan",
"Scan through the entire potential address range of Darwin kernel "
"(only on 32-bit targets).",
},
}

Definition at line 64 of file DynamicLoaderDarwinKernel.cpp.

eKASLRScanLowgloAddresses
@ eKASLRScanLowgloAddresses
Definition: DynamicLoaderDarwinKernel.cpp:56
eKASLRScanNearPC
@ eKASLRScanNearPC
Definition: DynamicLoaderDarwinKernel.cpp:58
eKASLRScanExhaustiveScan
@ eKASLRScanExhaustiveScan
Definition: DynamicLoaderDarwinKernel.cpp:60
eKASLRScanNone
@ eKASLRScanNone
Definition: DynamicLoaderDarwinKernel.cpp:55