class CrashReport

Defined at line 831 of file fidling/gen/sdk/fidl/fuchsia.feedback/fuchsia.feedback/cpp/fidl/fuchsia.feedback/cpp/natural_types.h

Represents a crash report.

Public Methods

void CrashReport (Storage_ storage)
void CrashReport ()

Defined at line 836 of file fidling/gen/sdk/fidl/fuchsia.feedback/fuchsia.feedback/cpp/fidl/fuchsia.feedback/cpp/natural_types.h

void CrashReport (CrashReport && )

Defined at line 837 of file fidling/gen/sdk/fidl/fuchsia.feedback/fuchsia.feedback/cpp/fidl/fuchsia.feedback/cpp/natural_types.h

bool IsEmpty ()
CrashReport & attachments (std::optional< ::std::vector< ::fuchsia_feedback::Attachment>> value)

A vector of key-value string-to-VMO pairs representing arbitrary data that should be

attached to a crash report.

Keys should be unique as only the latest value for a given key in the vector will be

considered.

ZX_ERR_INVALID_ARGS will be returned if any of the following is true:

* a key is ""

* a key is "."

* a key is ".."

* a key contains a forward slash "/"

* a key contains a space " "

* a key contains characters other than printable ASCII

const std::optional< ::std::string> & event_id ()

A text ID that the crash server can use to group multiple crash reports related to the

same event.

Unlike the crash signature, crash reports sharing the same ID correspond to different

crashes, but can be considered as belonging to the same event, e.g., a crash in a low-level

server causing a crash in a high-level UI widget.

::std::optional< ::std::string> & event_id ()

A text ID that the crash server can use to group multiple crash reports related to the

same event.

Unlike the crash signature, crash reports sharing the same ID correspond to different

crashes, but can be considered as belonging to the same event, e.g., a crash in a low-level

server causing a crash in a high-level UI widget.

CrashReport & event_id (std::optional< ::std::string> value)

A text ID that the crash server can use to group multiple crash reports related to the

same event.

Unlike the crash signature, crash reports sharing the same ID correspond to different

crashes, but can be considered as belonging to the same event, e.g., a crash in a low-level

server causing a crash in a high-level UI widget.

CrashReport & operator= (CrashReport && )

Defined at line 838 of file fidling/gen/sdk/fidl/fuchsia.feedback/fuchsia.feedback/cpp/fidl/fuchsia.feedback/cpp/natural_types.h

const std::optional< ::std::string> & program_name ()

The name of the program that crashed, e.g., the process or component's name.

Internally, the program name is used to persist the report in case it can't be uploaded

immediately. As a result, it's sanitized when used as a filesystem path, e.g., stripped of

any fuchsia-pkg:// prefix. ZX_ERR_INVALID_ARGS will be returned if the sanitized program

name is any of the following:

* ""

* "."

* ".."

::std::optional< ::std::string> & program_name ()

The name of the program that crashed, e.g., the process or component's name.

Internally, the program name is used to persist the report in case it can't be uploaded

immediately. As a result, it's sanitized when used as a filesystem path, e.g., stripped of

any fuchsia-pkg:// prefix. ZX_ERR_INVALID_ARGS will be returned if the sanitized program

name is any of the following:

* ""

* "."

* ".."

CrashReport & program_name (std::optional< ::std::string> value)

The name of the program that crashed, e.g., the process or component's name.

Internally, the program name is used to persist the report in case it can't be uploaded

immediately. As a result, it's sanitized when used as a filesystem path, e.g., stripped of

any fuchsia-pkg:// prefix. ZX_ERR_INVALID_ARGS will be returned if the sanitized program

name is any of the following:

* ""

* "."

* ".."

const std::optional< ::fuchsia_feedback::SpecificCrashReport> & specific_report ()

The specific report that depends on the type of crashes.

This field should be set if additional information about the crashing program needs to be

sent, e.g., a minidump.

::std::optional< ::fuchsia_feedback::SpecificCrashReport> & specific_report ()

The specific report that depends on the type of crashes.

This field should be set if additional information about the crashing program needs to be

sent, e.g., a minidump.

CrashReport & specific_report (std::optional< ::fuchsia_feedback::SpecificCrashReport> value)

The specific report that depends on the type of crashes.

This field should be set if additional information about the crashing program needs to be

sent, e.g., a minidump.

const std::optional< ::std::vector< ::fuchsia_feedback::Annotation>> & annotations ()

A vector of key-value string pairs representing arbitrary data that should be attached to a

crash report.

Keys should be unique as only the latest value for a given key in the vector will be

considered.

::std::optional< ::std::vector< ::fuchsia_feedback::Annotation>> & annotations ()

A vector of key-value string pairs representing arbitrary data that should be attached to a

crash report.

Keys should be unique as only the latest value for a given key in the vector will be

considered.

CrashReport & annotations (std::optional< ::std::vector< ::fuchsia_feedback::Annotation>> value)

A vector of key-value string pairs representing arbitrary data that should be attached to a

crash report.

Keys should be unique as only the latest value for a given key in the vector will be

considered.

const std::optional< ::std::vector< ::fuchsia_feedback::Attachment>> & attachments ()

A vector of key-value string-to-VMO pairs representing arbitrary data that should be

attached to a crash report.

Keys should be unique as only the latest value for a given key in the vector will be

considered.

ZX_ERR_INVALID_ARGS will be returned if any of the following is true:

* a key is ""

* a key is "."

* a key is ".."

* a key contains a forward slash "/"

* a key contains a space " "

* a key contains characters other than printable ASCII

::std::optional< ::std::vector< ::fuchsia_feedback::Attachment>> & attachments ()

A vector of key-value string-to-VMO pairs representing arbitrary data that should be

attached to a crash report.

Keys should be unique as only the latest value for a given key in the vector will be

considered.

ZX_ERR_INVALID_ARGS will be returned if any of the following is true:

* a key is ""

* a key is "."

* a key is ".."

* a key contains a forward slash "/"

* a key contains a space " "

* a key contains characters other than printable ASCII

const std::optional<int64_t> & program_uptime ()

How long the program was running before it crashed.

::std::optional<int64_t> & program_uptime ()

How long the program was running before it crashed.

CrashReport & program_uptime (std::optional<int64_t> value)

How long the program was running before it crashed.

const std::optional< ::std::string> & crash_signature ()

A text signature that the crash server can use to track the same crash over time, e.g.,

"kernel-panic" or "oom". This signature will take precedence over any automated signature

derived from the rest of the data.

Unlike the event ID, crash reports sharing the same signature correspond to the same crash,

but happening over multiple events, e.g., a null pointer exception in a server whenever

asked the same request.

Must match [a-z][a-z

\

-]* i.e. only lowercase letters and hyphens or this will result in a

ZX_ERR_INVALID_ARGS epitaph.

::std::optional< ::std::string> & crash_signature ()

A text signature that the crash server can use to track the same crash over time, e.g.,

"kernel-panic" or "oom". This signature will take precedence over any automated signature

derived from the rest of the data.

Unlike the event ID, crash reports sharing the same signature correspond to the same crash,

but happening over multiple events, e.g., a null pointer exception in a server whenever

asked the same request.

Must match [a-z][a-z

\

-]* i.e. only lowercase letters and hyphens or this will result in a

ZX_ERR_INVALID_ARGS epitaph.

CrashReport & crash_signature (std::optional< ::std::string> value)

A text signature that the crash server can use to track the same crash over time, e.g.,

"kernel-panic" or "oom". This signature will take precedence over any automated signature

derived from the rest of the data.

Unlike the event ID, crash reports sharing the same signature correspond to the same crash,

but happening over multiple events, e.g., a null pointer exception in a server whenever

asked the same request.

Must match [a-z][a-z

\

-]* i.e. only lowercase letters and hyphens or this will result in a

ZX_ERR_INVALID_ARGS epitaph.

const std::optional<bool> & is_fatal ()

Indicates whether the crash report is for the atypical stop of a running process, component,

or the system itself.

Examples of events that result in fatal crash reports are:

* an ELF process crashing

* the system rebooting because it ran out of memory.

* the system rebooting because a critical component crashed.

* the system rebooting because the device was too hot.

Examples of events that result in non-fatal crash reports are:

* an uncaught exception in a Dart program with many execution contexts. The runtime may

chose to terminate that specific execution context and file a crash report for it instead

of the whole program.

* a component detecting a fatal event (like an OOM) may occur soon, but isn't guaranteed to

occur.

This field is primarily used for grouping crashes by fatal, not fatal, and unknown,

each corresponding to the field being set to true, set to false, or not set respectively.

::std::optional<bool> & is_fatal ()

Indicates whether the crash report is for the atypical stop of a running process, component,

or the system itself.

Examples of events that result in fatal crash reports are:

* an ELF process crashing

* the system rebooting because it ran out of memory.

* the system rebooting because a critical component crashed.

* the system rebooting because the device was too hot.

Examples of events that result in non-fatal crash reports are:

* an uncaught exception in a Dart program with many execution contexts. The runtime may

chose to terminate that specific execution context and file a crash report for it instead

of the whole program.

* a component detecting a fatal event (like an OOM) may occur soon, but isn't guaranteed to

occur.

This field is primarily used for grouping crashes by fatal, not fatal, and unknown,

each corresponding to the field being set to true, set to false, or not set respectively.

CrashReport & is_fatal (std::optional<bool> value)

Indicates whether the crash report is for the atypical stop of a running process, component,

or the system itself.

Examples of events that result in fatal crash reports are:

* an ELF process crashing

* the system rebooting because it ran out of memory.

* the system rebooting because a critical component crashed.

* the system rebooting because the device was too hot.

Examples of events that result in non-fatal crash reports are:

* an uncaught exception in a Dart program with many execution contexts. The runtime may

chose to terminate that specific execution context and file a crash report for it instead

of the whole program.

* a component detecting a fatal event (like an OOM) may occur soon, but isn't guaranteed to

occur.

This field is primarily used for grouping crashes by fatal, not fatal, and unknown,

each corresponding to the field being set to true, set to false, or not set respectively.

const std::optional<uint32_t> & weight ()

Optional. Used to indicate that this report represents more than just this instance of the

crash. For example, this field should be set to 10 if choosing to only file 1 out of every

10 instances of this crash type.

A weight of 1 is used if the field is not set. An explicitly set value of 0 is invalid and

will be rejected.

::std::optional<uint32_t> & weight ()

Optional. Used to indicate that this report represents more than just this instance of the

crash. For example, this field should be set to 10 if choosing to only file 1 out of every

10 instances of this crash type.

A weight of 1 is used if the field is not set. An explicitly set value of 0 is invalid and

will be rejected.

CrashReport & weight (std::optional<uint32_t> value)

Optional. Used to indicate that this report represents more than just this instance of the

crash. For example, this field should be set to 10 if choosing to only file 1 out of every

10 instances of this crash type.

A weight of 1 is used if the field is not set. An explicitly set value of 0 is invalid and

will be rejected.

void CrashReport (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits