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.
References m_memory_module_sp, m_module_sp, m_name, and m_uuid.
Referenced by operator==().
|
inline |
Definition at line 129 of file DynamicLoaderDarwinKernel.h.
References 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::ParseKextSummaries().
uint32_t DynamicLoaderDarwinKernel::KextImageInfo::GetAddressByteSize | ( | ) |
Definition at line 1005 of file DynamicLoaderDarwinKernel.cpp.
References m_memory_module_sp, and m_module_sp.
lldb_private::ArchSpec DynamicLoaderDarwinKernel::KextImageInfo::GetArchitecture | ( | ) | const |
Definition at line 1022 of file DynamicLoaderDarwinKernel.cpp.
References m_memory_module_sp, and m_module_sp.
lldb::ByteOrder DynamicLoaderDarwinKernel::KextImageInfo::GetByteOrder | ( | ) |
Definition at line 1013 of file DynamicLoaderDarwinKernel.cpp.
References lldb_private::endian::InlHostByteOrder(), m_memory_module_sp, and m_module_sp.
addr_t DynamicLoaderDarwinKernel::KextImageInfo::GetLoadAddress | ( | ) | const |
Definition at line 594 of file DynamicLoaderDarwinKernel.cpp.
References m_load_address.
Referenced by LoadImageUsingMemoryModule(), operator==(), and DynamicLoaderDarwinKernel::ParseKextSummaries().
ModuleSP DynamicLoaderDarwinKernel::KextImageInfo::GetModule | ( | ) |
Definition at line 585 of file DynamicLoaderDarwinKernel.cpp.
References m_module_sp.
Referenced by DynamicLoaderDarwinKernel::ParseKextSummaries().
std::string DynamicLoaderDarwinKernel::KextImageInfo::GetName | ( | ) | const |
Definition at line 628 of file DynamicLoaderDarwinKernel.cpp.
References m_name.
Referenced by operator==().
uint32_t DynamicLoaderDarwinKernel::KextImageInfo::GetProcessStopId | ( | ) | const |
Definition at line 606 of file DynamicLoaderDarwinKernel.cpp.
References m_load_process_stop_id.
Referenced by DynamicLoaderDarwinKernel::ParseKextSummaries().
uint64_t DynamicLoaderDarwinKernel::KextImageInfo::GetSize | ( | ) | const |
Definition at line 598 of file DynamicLoaderDarwinKernel.cpp.
References m_size.
UUID DynamicLoaderDarwinKernel::KextImageInfo::GetUUID | ( | ) | const |
Definition at line 636 of file DynamicLoaderDarwinKernel.cpp.
References m_uuid.
Referenced by LoadImageUsingMemoryModule(), and operator==().
bool DynamicLoaderDarwinKernel::KextImageInfo::IsKernel | ( | ) | const |
Definition at line 713 of file DynamicLoaderDarwinKernel.cpp.
References m_kernel_image.
Referenced by LoadImageUsingMemoryModule(), and DynamicLoaderDarwinKernel::ParseKextSummaries().
|
inline |
Definition at line 144 of file DynamicLoaderDarwinKernel.h.
References m_load_process_stop_id, and UINT32_MAX.
Referenced by LoadImageAtFileAddress(), and LoadImageUsingMemoryModule().
bool DynamicLoaderDarwinKernel::KextImageInfo::LoadImageAtFileAddress | ( | lldb_private::Process * | process | ) |
Definition at line 567 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::ParseKextSummaries().
bool DynamicLoaderDarwinKernel::KextImageInfo::LoadImageUsingMemoryModule | ( | lldb_private::Process * | process, |
lldb_private::Progress * | progress = nullptr ) |
Definition at line 721 of file DynamicLoaderDarwinKernel.cpp.
References lldb_private::ModuleList::Append(), lldb_private::ModuleList::AppendIfNeeded(), lldb_private::Status::AsCString(), lldb_private::PluginManager::DownloadObjectAndSymbolFile(), lldb_private::DynamicLoader, lldb_private::Status::Fail(), lldb_private::ModuleList::FindModule(), lldb_private::SectionList::FindSectionByName(), lldb_private::ModuleSpec::GetArchitecture(), lldb_private::Target::GetArchitecture(), lldb_private::Debugger::GetAsyncErrorStream(), lldb_private::Debugger::GetAsyncOutputStream(), lldb_private::ObjectFile::GetBaseAddress(), lldb_private::Target::GetDebugger(), lldb_private::TargetProperties::GetExecutableSearchPaths(), lldb_private::Address::GetFileAddress(), lldb_private::Section::GetFileAddress(), lldb_private::ModuleSpec::GetFileSpec(), lldb_private::Target::GetImages(), GetLoadAddress(), lldb_private::GetLog(), GetName(), lldb_private::Target::GetOrCreateModule(), 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(), GetUUID(), lldb_private::ModuleSpec::GetUUID(), lldb_private::Progress::Increment(), lldb_private::FileSystem::Instance(), is_kernel(), IsKernel(), IsLoaded(), LLDB_INVALID_ADDRESS, LLDB_LOGF, m_load_address, m_load_process_stop_id, m_memory_module_sp, m_module_sp, m_name, m_uuid, lldb_private::ModuleList::Modules(), lldb_private::Target::ModulesDidLoad(), lldb_private::Stream::PutHex64(), ReadMemoryModule(), lldb_private::ModuleList::Remove(), and lldb_private::Target::SetSectionLoadAddress().
Referenced by DynamicLoaderDarwinKernel::ParseKextSummaries().
bool DynamicLoaderDarwinKernel::KextImageInfo::operator== | ( | const KextImageInfo & | rhs | ) | const |
Definition at line 615 of file DynamicLoaderDarwinKernel.cpp.
References GetLoadAddress(), GetName(), GetUUID(), lldb_private::UUID::IsValid(), KextImageInfo(), m_load_address, m_name, and m_uuid.
void DynamicLoaderDarwinKernel::KextImageInfo::PutToLog | ( | lldb_private::Log * | log | ) | const |
Definition at line 1509 of file DynamicLoaderDarwinKernel.cpp.
References LLDB_INVALID_ADDRESS, LLDB_LOG, m_load_address, m_name, m_size, and m_uuid.
bool DynamicLoaderDarwinKernel::KextImageInfo::ReadMemoryModule | ( | lldb_private::Process * | process | ) |
Definition at line 646 of file DynamicLoaderDarwinKernel.cpp.
References lldb_private::GetLog(), lldb_private::Process::GetTarget(), lldb_private::Host, is_kernel(), LLDB_INVALID_ADDRESS, LLDB_LOGF, m_kernel_image, m_load_address, m_memory_module_sp, m_name, m_uuid, DynamicLoaderDarwinKernel::ReadMachHeader(), lldb_private::Process::ReadModuleFromMemory(), and lldb_private::Target::SetArchitecture().
Referenced by LoadImageUsingMemoryModule().
void DynamicLoaderDarwinKernel::KextImageInfo::SetIsKernel | ( | bool | is_kernel | ) |
Definition at line 717 of file DynamicLoaderDarwinKernel.cpp.
References is_kernel(), and m_kernel_image.
void DynamicLoaderDarwinKernel::KextImageInfo::SetLoadAddress | ( | lldb::addr_t | load_addr | ) |
Definition at line 589 of file DynamicLoaderDarwinKernel.cpp.
References m_load_address.
void DynamicLoaderDarwinKernel::KextImageInfo::SetModule | ( | lldb::ModuleSP | module | ) |
Definition at line 580 of file DynamicLoaderDarwinKernel.cpp.
References is_kernel(), m_kernel_image, and m_module_sp.
void DynamicLoaderDarwinKernel::KextImageInfo::SetName | ( | const char * | name | ) |
Definition at line 624 of file DynamicLoaderDarwinKernel.cpp.
References m_name.
void DynamicLoaderDarwinKernel::KextImageInfo::SetProcessStopId | ( | uint32_t | stop_id | ) |
Definition at line 610 of file DynamicLoaderDarwinKernel.cpp.
References m_load_process_stop_id.
void DynamicLoaderDarwinKernel::KextImageInfo::SetSize | ( | uint64_t | size | ) |
Definition at line 602 of file DynamicLoaderDarwinKernel.cpp.
References m_size.
void DynamicLoaderDarwinKernel::KextImageInfo::SetUUID | ( | const lldb_private::UUID & | uuid | ) |
Definition at line 632 of file DynamicLoaderDarwinKernel.cpp.
References m_uuid.
|
private |
Definition at line 207 of file DynamicLoaderDarwinKernel.h.
Referenced by IsKernel(), ReadMemoryModule(), SetIsKernel(), and SetModule().
|
private |
Definition at line 205 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear(), GetLoadAddress(), LoadImageUsingMemoryModule(), operator==(), PutToLog(), ReadMemoryModule(), and SetLoadAddress().
|
private |
Definition at line 200 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear(), GetProcessStopId(), IsLoaded(), LoadImageAtFileAddress(), LoadImageUsingMemoryModule(), and SetProcessStopId().
|
private |
Definition at line 199 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear(), GetAddressByteSize(), GetArchitecture(), GetByteOrder(), KextImageInfo(), LoadImageUsingMemoryModule(), and ReadMemoryModule().
|
private |
Definition at line 198 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear(), GetAddressByteSize(), GetArchitecture(), GetByteOrder(), GetModule(), KextImageInfo(), LoadImageAtFileAddress(), LoadImageUsingMemoryModule(), and SetModule().
|
private |
Definition at line 197 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear(), GetName(), KextImageInfo(), LoadImageUsingMemoryModule(), operator==(), PutToLog(), ReadMemoryModule(), and SetName().
|
private |
Definition at line 206 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear(), GetSize(), PutToLog(), and SetSize().
|
private |
Definition at line 204 of file DynamicLoaderDarwinKernel.h.
Referenced by Clear(), GetUUID(), KextImageInfo(), LoadImageUsingMemoryModule(), operator==(), PutToLog(), ReadMemoryModule(), and SetUUID().