LLDB mainline
lldb_private::DynamicLoaderDarwin::ImageInfo Struct Reference

#include <DynamicLoaderDarwin.h>

Public Types

typedef std::vector< ImageInfocollection
typedef collection::iterator iterator
typedef collection::const_iterator const_iterator

Public Member Functions

 ImageInfo ()=default
void Clear (bool load_cmd_data_only)
bool operator== (const ImageInfo &rhs) const
bool UUIDValid () const
uint32_t GetAddressByteSize ()
lldb_private::ArchSpec GetArchitecture () const
const SegmentFindSegment (lldb_private::ConstString name) const
void PutToLog (lldb_private::Log *log) const

Public Attributes

lldb::addr_t address = LLDB_INVALID_ADDRESS
 Address of mach header for this dylib.
lldb::addr_t slide = 0
 The amount to slide all segments by if there is a global slide.
lldb_private::FileSpec file_spec
 Resolved path for this dylib.
lldb_private::UUID uuid
 UUID for this dylib if it has one, else all zeros.
llvm::MachO::mach_header header
 The mach header for this image.
std::vector< Segmentsegments
 All segment vmaddr and vmsize pairs for this executable (from memory of inferior).
uint32_t load_stop_id = 0
 The process stop ID that the sections for this image were loaded.
llvm::Triple::OSType os_type = llvm::Triple::OSType::UnknownOS
 LC_VERSION_MIN_... load command os type.
llvm::Triple::EnvironmentType os_env
 LC_VERSION_MIN_... load command os environment.
std::string min_version_os_sdk
 LC_VERSION_MIN_... SDK.
uint32_t mh_and_load_cmd_size = 8192
 When we need to read a binary's mach header and load commands out of memory, this specifies how much to read to get everything in one read packet, if known.

Detailed Description

Definition at line 99 of file DynamicLoaderDarwin.h.

Member Typedef Documentation

◆ collection

◆ const_iterator

Definition at line 178 of file DynamicLoaderDarwin.h.

◆ iterator

Definition at line 177 of file DynamicLoaderDarwin.h.

Constructor & Destructor Documentation

◆ ImageInfo()

lldb_private::DynamicLoaderDarwin::ImageInfo::ImageInfo ( )
default

Referenced by operator==().

Member Function Documentation

◆ Clear()

void lldb_private::DynamicLoaderDarwin::ImageInfo::Clear ( bool load_cmd_data_only)
inline

◆ FindSegment()

const DynamicLoaderDarwin::Segment * DynamicLoaderDarwin::ImageInfo::FindSegment ( lldb_private::ConstString name) const

Definition at line 908 of file DynamicLoaderDarwin.cpp.

References segments.

◆ GetAddressByteSize()

uint32_t lldb_private::DynamicLoaderDarwin::ImageInfo::GetAddressByteSize ( )
inline

Definition at line 160 of file DynamicLoaderDarwin.h.

References header.

◆ GetArchitecture()

◆ operator==()

bool lldb_private::DynamicLoaderDarwin::ImageInfo::operator== ( const ImageInfo & rhs) const
inline

◆ PutToLog()

void DynamicLoaderDarwin::ImageInfo::PutToLog ( lldb_private::Log * log) const

Definition at line 918 of file DynamicLoaderDarwin.cpp.

References address, file_spec, LLDB_INVALID_ADDRESS, LLDB_LOG, PutToLog(), segments, slide, and uuid.

Referenced by PutToLog().

◆ UUIDValid()

bool lldb_private::DynamicLoaderDarwin::ImageInfo::UUIDValid ( ) const
inline

Definition at line 158 of file DynamicLoaderDarwin.h.

References uuid.

Member Data Documentation

◆ address

lldb::addr_t lldb_private::DynamicLoaderDarwin::ImageInfo::address = LLDB_INVALID_ADDRESS

◆ file_spec

lldb_private::FileSpec lldb_private::DynamicLoaderDarwin::ImageInfo::file_spec

◆ header

llvm::MachO::mach_header lldb_private::DynamicLoaderDarwin::ImageInfo::header

◆ load_stop_id

uint32_t lldb_private::DynamicLoaderDarwin::ImageInfo::load_stop_id = 0

The process stop ID that the sections for this image were loaded.

Definition at line 116 of file DynamicLoaderDarwin.h.

Referenced by Clear(), and lldb_private::DynamicLoaderDarwin::UpdateImageLoadAddress().

◆ mh_and_load_cmd_size

uint32_t lldb_private::DynamicLoaderDarwin::ImageInfo::mh_and_load_cmd_size = 8192

When we need to read a binary's mach header and load commands out of memory, this specifies how much to read to get everything in one read packet, if known.

Increase the default 512 bytes to 8192 which is enough to include most mach header + load commands.

Definition at line 129 of file DynamicLoaderDarwin.h.

Referenced by Clear(), lldb_private::DynamicLoaderDarwin::FindTargetModuleForImageInfo(), and operator==().

◆ min_version_os_sdk

std::string lldb_private::DynamicLoaderDarwin::ImageInfo::min_version_os_sdk

LC_VERSION_MIN_... SDK.

Definition at line 123 of file DynamicLoaderDarwin.h.

Referenced by Clear(), and GetArchitecture().

◆ os_env

llvm::Triple::EnvironmentType lldb_private::DynamicLoaderDarwin::ImageInfo::os_env
Initial value:
=
llvm::Triple::EnvironmentType::UnknownEnvironment

LC_VERSION_MIN_... load command os environment.

Definition at line 120 of file DynamicLoaderDarwin.h.

Referenced by Clear(), GetArchitecture(), and operator==().

◆ os_type

llvm::Triple::OSType lldb_private::DynamicLoaderDarwin::ImageInfo::os_type = llvm::Triple::OSType::UnknownOS

LC_VERSION_MIN_... load command os type.

Definition at line 118 of file DynamicLoaderDarwin.h.

Referenced by Clear(), GetArchitecture(), and operator==().

◆ segments

std::vector<Segment> lldb_private::DynamicLoaderDarwin::ImageInfo::segments

◆ slide

lldb::addr_t lldb_private::DynamicLoaderDarwin::ImageInfo::slide = 0

◆ uuid

lldb_private::UUID lldb_private::DynamicLoaderDarwin::ImageInfo::uuid

The documentation for this struct was generated from the following files: