crashpad::internal::ThreadSnapshotMac Class Referencefinal

A ThreadSnapshot of a thread in a running (or crashed) process on a macOS system. More...

`#include "snapshot/mac/thread_snapshot_mac.h"`

Inheritance diagram for crashpad::internal::ThreadSnapshotMac:

## Public Member Functions

bool | Initialize (ProcessReaderMac *process_reader, const ProcessReaderMac::Thread &process_reader_thread)
| Initializes the object. More...
const CPUContext * | Context () const override
| Returns a CPUContext object corresponding to the thread’s CPU context. More...
const MemorySnapshot * | Stack () const override
| Returns a MemorySnapshot object corresponding to the memory region that contains the thread’s stack, or `nullptr` if no stack region is available. More...
uint64_t | ThreadID () const override
| Returns the thread’s identifier. More...
int | SuspendCount () const override
| Returns the thread’s suspend count. More...
int | Priority () const override
| Returns the thread’s priority. More...
uint64_t | ThreadSpecificDataAddress () const override
| Returns the base address of a region used to store thread-specific data.
std::vector< const MemorySnapshot * > | ExtraMemory () const override
| Returns a vector of additional memory blocks that should be included in a minidump. More...

## Detailed Description

A ThreadSnapshot of a thread in a running (or crashed) process on a macOS system.

## Member Function Documentation

## Context()

const CPUContext * crashpad::internal::ThreadSnapshotMac::Context | ( |  | ) | const

overridevirtual

Returns a CPUContext object corresponding to the thread’s CPU context.

The caller does not take ownership of this object, it is scoped to the lifetime of the ThreadSnapshot object that it was obtained from.

Implements crashpad::ThreadSnapshot.

## ExtraMemory()

std::vector< const MemorySnapshot * > crashpad::internal::ThreadSnapshotMac::ExtraMemory | ( |  | ) | const

overridevirtual

Returns a vector of additional memory blocks that should be included in a minidump.

Returns
  A vector of MemorySnapshot objects that will be included in the crash dump. The caller does not take ownership of these objects, they are scoped to the lifetime of the ThreadSnapshot object that they were obtained from.

Implements crashpad::ThreadSnapshot.

## Initialize()

bool crashpad::internal::ThreadSnapshotMac::Initialize | ( | ProcessReaderMac * | process_reader,
|  | const ProcessReaderMac::Thread & | process_reader_thread
| ) |  |

Initializes the object.

Parameters

  [in] | process_reader | A ProcessReaderMac for the task containing the thread.
  [in] | process_reader_thread | The thread within the ProcessReaderMac for which the snapshot should be created.

Returns
  `true` if the snapshot could be created, `false` otherwise with an appropriate message logged.

## Priority()

int crashpad::internal::ThreadSnapshotMac::Priority | ( |  | ) | const

overridevirtual

Returns the thread’s priority.

Threads with higher priorities will have higher priority values.

Implements crashpad::ThreadSnapshot.

## Stack()

const MemorySnapshot * crashpad::internal::ThreadSnapshotMac::Stack | ( |  | ) | const

overridevirtual

Returns a MemorySnapshot object corresponding to the memory region that contains the thread’s stack, or `nullptr` if no stack region is available.

The caller does not take ownership of this object, it is scoped to the lifetime of the ThreadSnapshot object that it was obtained from.

Implements crashpad::ThreadSnapshot.

## SuspendCount()

int crashpad::internal::ThreadSnapshotMac::SuspendCount | ( |  | ) | const

overridevirtual

Returns the thread’s suspend count.

A suspend count of `0` denotes a schedulable (not suspended) thread.

Implements crashpad::ThreadSnapshot.

## ThreadID()

uint64_t crashpad::internal::ThreadSnapshotMac::ThreadID | ( |  | ) | const

overridevirtual

Returns the thread’s identifier.

Thread identifiers are at least unique within a process, and may be unique system-wide.

Implements crashpad::ThreadSnapshot.

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

- snapshot/mac/thread_snapshot_mac.h
- snapshot/mac/thread_snapshot_mac.cc