LLDB mainline
|
#include <DynamicLoaderDarwinKernel.h>
Public Types | |
typedef std::vector< KextImageInfo > | collection |
typedef collection::iterator | iterator |
typedef collection::const_iterator | const_iterator |
Public Member Functions | |
KextImageInfo () | |
void | Clear () |
bool | LoadImageAtFileAddress (lldb_private::Process *process) |
bool | LoadImageUsingMemoryModule (lldb_private::Process *process, lldb_private::Progress *progress=nullptr) |
bool | IsLoaded () |
void | SetLoadAddress (lldb::addr_t load_addr) |
lldb::addr_t | GetLoadAddress () const |
lldb_private::UUID | GetUUID () const |
void | SetUUID (const lldb_private::UUID &uuid) |
void | SetName (const char *) |
std::string | GetName () const |
void | SetModule (lldb::ModuleSP module) |
lldb::ModuleSP | GetModule () |
bool | ReadMemoryModule (lldb_private::Process *process) |
bool | IsKernel () const |
void | SetIsKernel (bool is_kernel) |
uint64_t | GetSize () const |
void | SetSize (uint64_t size) |
uint32_t | GetProcessStopId () const |
void | SetProcessStopId (uint32_t stop_id) |
bool | operator== (const KextImageInfo &rhs) const |
uint32_t | GetAddressByteSize () |
lldb::ByteOrder | GetByteOrder () |
lldb_private::ArchSpec | GetArchitecture () const |
void | PutToLog (lldb_private::Log *log) const |
Private Attributes | |
std::string | m_name |
lldb::ModuleSP | m_module_sp |
lldb::ModuleSP | m_memory_module_sp |
uint32_t | m_load_process_stop_id |
lldb_private::UUID | m_uuid |
lldb::addr_t | m_load_address = LLDB_INVALID_ADDRESS |
uint64_t | m_size = 0 |
bool | m_kernel_image |
Definition at line 125 of file DynamicLoaderDarwinKernel.h.
typedef std::vector<KextImageInfo> DynamicLoaderDarwinKernel::KextImageInfo::collection |
Definition at line 192 of file DynamicLoaderDarwinKernel.h.
typedef collection::const_iterator DynamicLoaderDarwinKernel::KextImageInfo::const_iterator |
Definition at line 194 of file DynamicLoaderDarwinKernel.h.
typedef collection::iterator DynamicLoaderDarwinKernel::KextImageInfo::iterator |
Definition at line 193 of file DynamicLoaderDarwinKernel.h.
|
inline |
Definition at line 127 of file DynamicLoaderDarwinKernel.h.
|
inline |
Definition at line 129 of file DynamicLoaderDarwinKernel.h.
References lldb_private::UUID::Clear(), LLDB_INVALID_ADDRESS, m_load_address, m_load_process_stop_id, m_memory_module_sp, m_module_sp, m_name, m_size, m_uuid, and UINT32_MAX.
Referenced by DynamicLoaderDarwinKernel::Clear(), DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded(), and DynamicLoaderDarwinKernel::ParseKextSummaries().
uint32_t DynamicLoaderDarwinKernel::KextImageInfo::GetAddressByteSize | ( | ) |
Definition at line 1004 of file DynamicLoaderDarwinKernel.cpp.
Referenced by DynamicLoaderDarwinKernel::GetAddrByteSize(), DynamicLoaderDarwinKernel::ReadKextSummaries(), and DynamicLoaderDarwinKernel::ReadKextSummaryHeader().
lldb_private::ArchSpec DynamicLoaderDarwinKernel::KextImageInfo::GetArchitecture | ( | ) | const |
Definition at line 1021 of file DynamicLoaderDarwinKernel.cpp.
lldb::ByteOrder DynamicLoaderDarwinKernel::KextImageInfo::GetByteOrder | ( | ) |
Definition at line 1012 of file DynamicLoaderDarwinKernel.cpp.
References lldb_private::endian::InlHostByteOrder().
Referenced by DynamicLoaderDarwinKernel::ReadKextSummaries(), and DynamicLoaderDarwinKernel::ReadKextSummaryHeader().
addr_t DynamicLoaderDarwinKernel::KextImageInfo::GetLoadAddress | ( | ) | const |
Definition at line 590 of file DynamicLoaderDarwinKernel.cpp.
Referenced by DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded(), operator==(), and DynamicLoaderDarwinKernel::ParseKextSummaries().
ModuleSP DynamicLoaderDarwinKernel::KextImageInfo::GetModule | ( | ) |
Definition at line 581 of file DynamicLoaderDarwinKernel.cpp.
Referenced by DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded(), DynamicLoaderDarwinKernel::ParseKextSummaries(), and DynamicLoaderDarwinKernel::SetNotificationBreakpointIfNeeded().
std::string DynamicLoaderDarwinKernel::KextImageInfo::GetName | ( | ) | const |
Definition at line 624 of file DynamicLoaderDarwinKernel.cpp.
Referenced by operator==().
uint32_t DynamicLoaderDarwinKernel::KextImageInfo::GetProcessStopId | ( | ) | const |
Definition at line 602 of file DynamicLoaderDarwinKernel.cpp.
Referenced by DynamicLoaderDarwinKernel::ParseKextSummaries().
uint64_t DynamicLoaderDarwinKernel::KextImageInfo::GetSize | ( | ) | const |
Definition at line 594 of file DynamicLoaderDarwinKernel.cpp.
UUID DynamicLoaderDarwinKernel::KextImageInfo::GetUUID | ( | ) | const |
Definition at line 632 of file DynamicLoaderDarwinKernel.cpp.
Referenced by operator==(), and DynamicLoaderDarwinKernel::ParseKextSummaries().
bool DynamicLoaderDarwinKernel::KextImageInfo::IsKernel | ( | ) | const |
Definition at line 709 of file DynamicLoaderDarwinKernel.cpp.
Referenced by DynamicLoaderDarwinKernel::ParseKextSummaries().
|
inline |
Definition at line 144 of file DynamicLoaderDarwinKernel.h.
References m_load_process_stop_id, and UINT32_MAX.
Referenced by LoadImageAtFileAddress(), and DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded().
bool DynamicLoaderDarwinKernel::KextImageInfo::LoadImageAtFileAddress | ( | lldb_private::Process * | process | ) |
Definition at line 563 of file DynamicLoaderDarwinKernel.cpp.
References lldb_private::Process::GetStopID(), lldb_private::Process::GetTarget(), IsLoaded(), m_load_process_stop_id, and m_module_sp.
Referenced by DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded(), and DynamicLoaderDarwinKernel::ParseKextSummaries().
bool DynamicLoaderDarwinKernel::KextImageInfo::LoadImageUsingMemoryModule | ( | lldb_private::Process * | process, |
lldb_private::Progress * | progress = nullptr |
||
) |
Definition at line 717 of file DynamicLoaderDarwinKernel.cpp.
References lldb_private::ModuleList::Append(), lldb_private::ModuleList::AppendIfNeeded(), lldb_private::Status::AsCString(), lldb_private::PluginManager::DownloadObjectAndSymbolFile(), lldb_private::Status::Fail(), lldb_private::ModuleList::FindModule(), lldb_private::SectionList::FindSectionByName(), lldb_private::Stream::Flush(), lldb_private::ModuleSpec::GetArchitecture(), lldb_private::Target::GetArchitecture(), lldb_private::ObjectFile::GetBaseAddress(), lldb_private::Target::GetDebugger(), lldb_private::Debugger::GetErrorStream(), lldb_private::TargetProperties::GetExecutableSearchPaths(), lldb_private::Address::GetFileAddress(), lldb_private::Section::GetFileAddress(), lldb_private::ModuleSpec::GetFileSpec(), lldb_private::Target::GetImages(), lldb_private::GetLog(), GetName(), lldb_private::Target::GetOrCreateModule(), lldb_private::Debugger::GetOutputStream(), lldb_private::Target::GetPlatform(), lldb_private::SectionList::GetSectionAtIndex(), lldb_private::ObjectFile::GetSectionList(), lldb_private::SectionList::GetSize(), lldb_private::Process::GetStopID(), lldb_private::StreamString::GetString(), lldb_private::Process::GetTarget(), lldb_private::ModuleSpec::GetUUID(), lldb_private::Progress::Increment(), lldb_private::FileSystem::Instance(), is_kernel(), LLDB_INVALID_ADDRESS, LLDB_LOGF, lldb_private::ModuleList::Modules(), lldb_private::Target::ModulesDidLoad(), lldb_private::Stream::Printf(), lldb_private::Stream::PutHex64(), lldb_private::ModuleList::Remove(), and lldb_private::Target::SetSectionLoadAddress().
Referenced by DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded(), and DynamicLoaderDarwinKernel::ParseKextSummaries().
bool DynamicLoaderDarwinKernel::KextImageInfo::operator== | ( | const KextImageInfo & | rhs | ) | const |
Definition at line 611 of file DynamicLoaderDarwinKernel.cpp.
References GetLoadAddress(), GetName(), GetUUID(), and lldb_private::UUID::IsValid().
void DynamicLoaderDarwinKernel::KextImageInfo::PutToLog | ( | lldb_private::Log * | log | ) | const |
Definition at line 1505 of file DynamicLoaderDarwinKernel.cpp.
References LLDB_INVALID_ADDRESS, and LLDB_LOG.
bool DynamicLoaderDarwinKernel::KextImageInfo::ReadMemoryModule | ( | lldb_private::Process * | process | ) |
Definition at line 642 of file DynamicLoaderDarwinKernel.cpp.
References lldb_private::GetLog(), lldb_private::Process::GetTarget(), is_kernel(), LLDB_INVALID_ADDRESS, LLDB_LOGF, DynamicLoaderDarwinKernel::ReadMachHeader(), lldb_private::Process::ReadModuleFromMemory(), and lldb_private::Target::SetArchitecture().
void DynamicLoaderDarwinKernel::KextImageInfo::SetIsKernel | ( | bool | is_kernel | ) |
Definition at line 713 of file DynamicLoaderDarwinKernel.cpp.
References is_kernel().
Referenced by DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded().
void DynamicLoaderDarwinKernel::KextImageInfo::SetLoadAddress | ( | lldb::addr_t | load_addr | ) |
Definition at line 585 of file DynamicLoaderDarwinKernel.cpp.
Referenced by DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded().
void DynamicLoaderDarwinKernel::KextImageInfo::SetModule | ( | lldb::ModuleSP | module | ) |
Definition at line 576 of file DynamicLoaderDarwinKernel.cpp.
References is_kernel().
Referenced by DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded().
void DynamicLoaderDarwinKernel::KextImageInfo::SetName | ( | const char * | name | ) |
Definition at line 620 of file DynamicLoaderDarwinKernel.cpp.
Referenced by DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded().
void DynamicLoaderDarwinKernel::KextImageInfo::SetProcessStopId | ( | uint32_t | stop_id | ) |
Definition at line 606 of file DynamicLoaderDarwinKernel.cpp.
Referenced by DynamicLoaderDarwinKernel::LoadKernelModuleIfNeeded().
void DynamicLoaderDarwinKernel::KextImageInfo::SetSize | ( | uint64_t | size | ) |
Definition at line 598 of file DynamicLoaderDarwinKernel.cpp.
void DynamicLoaderDarwinKernel::KextImageInfo::SetUUID | ( | const lldb_private::UUID & | uuid | ) |
Definition at line 628 of file DynamicLoaderDarwinKernel.cpp.
|
private |
Definition at line 207 of file DynamicLoaderDarwinKernel.h.
|
private |
Definition at line 205 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear().
|
private |
Definition at line 200 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear(), IsLoaded(), and LoadImageAtFileAddress().
|
private |
Definition at line 199 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear().
|
private |
Definition at line 198 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear(), and LoadImageAtFileAddress().
|
private |
Definition at line 197 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear().
|
private |
Definition at line 206 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear().
|
private |
Definition at line 204 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear().