Crashpad
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Loading...
Searching...
No Matches
crashpad::internal::MemorySnapshotMinidump Class Reference
Inheritance diagram for crashpad::internal::MemorySnapshotMinidump:
[legend]
Collaboration diagram for crashpad::internal::MemorySnapshotMinidump:
[legend]

Public Member Functions

 MemorySnapshotMinidump (const MemorySnapshotMinidump &)=delete
 
MemorySnapshotMinidumpoperator= (const MemorySnapshotMinidump &)=delete
 
bool Initialize (FileReaderInterface *file_reader, RVA location)
 Initializes the object.
 
uint64_t Address () const override
 The base address of the memory snapshot in the snapshot process’ address space.
 
size_t Size () const override
 The size of the memory snapshot.
 
bool Read (Delegate *delegate) const override
 Calls Delegate::MemorySnapshotDelegateRead(), providing it with the memory snapshot’s data.
 
const MemorySnapshotMergeWithOtherSnapshot (const MemorySnapshot *other) const override
 Creates a new MemorySnapshot based on merging this one with other.
 

Member Function Documentation

◆ Address()

uint64_t crashpad::internal::MemorySnapshotMinidump::Address ( ) const
overridevirtual

The base address of the memory snapshot in the snapshot process’ address space.

Implements crashpad::MemorySnapshot.

◆ Initialize()

bool crashpad::internal::MemorySnapshotMinidump::Initialize ( FileReaderInterface * file_reader,
RVA location )

Initializes the object.

Parameters
[in]file_readerA file reader corresponding to a minidump file. The file reader must support seeking.
[in]locationThe location within the file where we will find a MINIDUMP_MEMORY_DESCRIPTOR from which to initialize this object.
Returns
true if the snapshot could be created, false otherwise with an appropriate message logged.

◆ MergeWithOtherSnapshot()

const MemorySnapshot * crashpad::internal::MemorySnapshotMinidump::MergeWithOtherSnapshot ( const MemorySnapshot * other) const
overridevirtual

Creates a new MemorySnapshot based on merging this one with other.

The ranges described by the two snapshots must either overlap or abut, and must be of the same concrete type.

Returns
A newly allocated MemorySnapshot representing the merged range, or nullptr with an error logged.

Implements crashpad::MemorySnapshot.

◆ Read()

bool crashpad::internal::MemorySnapshotMinidump::Read ( Delegate * delegate) const
overridevirtual

Calls Delegate::MemorySnapshotDelegateRead(), providing it with the memory snapshot’s data.

Implementations do not necessarily read the memory snapshot data prior to this method being called. Memory snapshot data may be loaded lazily and may be discarded after being passed to the delegate. This provides clean memory management without burdening a snapshot implementation with the requirement that it track all memory region data simultaneously.

Returns
false on failure, otherwise, the return value of Delegate::MemorySnapshotDelegateRead(), which should be true on success and false on failure.

Implements crashpad::MemorySnapshot.

◆ Size()

size_t crashpad::internal::MemorySnapshotMinidump::Size ( ) const
overridevirtual

The size of the memory snapshot.

Implements crashpad::MemorySnapshot.


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