Struct minidump_writer::MinidumpType
source · pub struct MinidumpType(/* private fields */);
Expand description
Implementations§
source§impl MinidumpType
impl MinidumpType
sourcepub const Normal: Self = _
pub const Normal: Self = _
Include just the information necessary to capture stack traces for all existing threads in a process.
sourcepub const WithDataSegs: Self = _
pub const WithDataSegs: Self = _
Include the data sections from all loaded modules.
This results in the inclusion of global variables, which can make the minidump file significantly larger.
sourcepub const WithFullMemory: Self = _
pub const WithFullMemory: Self = _
Include all accessible memory in the process.
The raw memory data is included at the end, so that the initial structures can be mapped directly without the raw memory information. This option can result in a very large file.
sourcepub const WithHandleData: Self = _
pub const WithHandleData: Self = _
Include high-level information about the operating system handles that are active when the minidump is made.
sourcepub const FilterMemory: Self = _
pub const FilterMemory: Self = _
Stack and backing store memory written to the minidump file should be filtered to remove all but the pointer values necessary to reconstruct a stack trace.
sourcepub const ScanMemory: Self = _
pub const ScanMemory: Self = _
Stack and backing store memory should be scanned for pointer references to modules in the module list.
If a module is referenced by stack or backing store memory, the
[MINIDUMP_CALLBACK_OUTPUT_0::ModuleWriteFlags
] field is set to
[ModuleWriteFlags::ModuleReferencedByMemory
].
sourcepub const WithUnloadedModules: Self = _
pub const WithUnloadedModules: Self = _
Include information from the list of modules that were recently unloaded, if this information is maintained by the operating system.
sourcepub const WithIndirectlyReferencedMemory: Self = _
pub const WithIndirectlyReferencedMemory: Self = _
Include pages with data referenced by locals or other stack memory. This option can increase the size of the minidump file significantly.
sourcepub const FilterModulePaths: Self = _
pub const FilterModulePaths: Self = _
Filter module paths for information such as user names or important directories.
This option may prevent the system from locating the image file and should be used only in special situations.
sourcepub const WithProcessThreadData: Self = _
pub const WithProcessThreadData: Self = _
Include complete per-process and per-thread information from the operating system.
sourcepub const WithPrivateReadWriteMemory: Self = _
pub const WithPrivateReadWriteMemory: Self = _
Scan the virtual address space for PAGE_READWRITE
memory to be included.
sourcepub const WithoutOptionalData: Self = _
pub const WithoutOptionalData: Self = _
Reduce the data that is dumped by eliminating memory regions that are not essential to meet criteria specified for the dump.
This can avoid dumping memory that may contain data that is private to the user. However, it is not a guarantee that no private information will be present.
sourcepub const WithFullMemoryInfo: Self = _
pub const WithFullMemoryInfo: Self = _
Include memory region information.
sourcepub const WithThreadInfo: Self = _
pub const WithThreadInfo: Self = _
Include thread state information.
sourcepub const WithCodeSegs: Self = _
pub const WithCodeSegs: Self = _
Include all code and code-related sections from loaded modules to capture executable content.
For per-module control, use the [ModuleWriteFlags::ModuleWriteCodeSegs
]
sourcepub const WithoutAuxiliaryState: Self = _
pub const WithoutAuxiliaryState: Self = _
Turns off secondary auxiliary-supported memory gathering.
sourcepub const WithFullAuxiliaryState: Self = _
pub const WithFullAuxiliaryState: Self = _
Requests that auxiliary data providers include their state in the dump image; the state data that is included is provider dependent.
This option can result in a large dump image.
sourcepub const WithPrivateWriteCopyMemory: Self = _
pub const WithPrivateWriteCopyMemory: Self = _
Scans the virtual address space for PAGE_WRITECOPY
memory to be included.
sourcepub const IgnoreInaccessibleMemory: Self = _
pub const IgnoreInaccessibleMemory: Self = _
If you specify [MinidumpType::MiniDumpWithFullMemory
], the
MiniDumpWriteDump
function will fail if the function cannot read
the memory regions; however, if you include
[IgnoreInaccessibleMemory
], the MiniDumpWriteDump
function will
ignore the memory read failures and continue to generate the dump.
Note that the inaccessible memory regions are not included in the dump.
sourcepub const WithTokenInformation: Self = _
pub const WithTokenInformation: Self = _
Adds security token related data.
This will make the “!token” extension work when processing a user-mode dump.
sourcepub const WithModuleHeaders: Self = _
pub const WithModuleHeaders: Self = _
Adds module header related data.
sourcepub const FilterTriage: Self = _
pub const FilterTriage: Self = _
Adds filter triage related data.
sourcepub const WithAvxXStateContext: Self = _
pub const WithAvxXStateContext: Self = _
Adds AVX crash state context registers.
sourcepub const WithIptTrace: Self = _
pub const WithIptTrace: Self = _
Adds Intel Processor Trace related data.
sourcepub const ScanInaccessiblePartialPages: Self = _
pub const ScanInaccessiblePartialPages: Self = _
Scans inaccessible partial memory pages.
sourcepub const FilterWriteCombinedMemory: Self = _
pub const FilterWriteCombinedMemory: Self = _
Exclude all memory with the virtual protection attribute of PAGE_WRITECOMBINE
.
source§impl MinidumpType
impl MinidumpType
sourcepub const fn bits(&self) -> u32
pub const fn bits(&self) -> u32
Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
sourcepub const fn from_bits(bits: u32) -> Option<Self>
pub const fn from_bits(bits: u32) -> Option<Self>
Convert from a bits value.
This method will return None
if any unknown bits are set.
sourcepub const fn from_bits_truncate(bits: u32) -> Self
pub const fn from_bits_truncate(bits: u32) -> Self
Convert from a bits value, unsetting any unknown bits.
sourcepub const fn from_bits_retain(bits: u32) -> Self
pub const fn from_bits_retain(bits: u32) -> Self
Convert from a bits value exactly.
sourcepub fn from_name(name: &str) -> Option<Self>
pub fn from_name(name: &str) -> Option<Self>
Get a flags value with the bits of a flag with the given name set.
This method will return None
if name
is empty or doesn’t
correspond to any named flag.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Whether any set bits in a source flags value are also set in a target flags value.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Whether all set bits in a source flags value are also set in a target flags value.
sourcepub fn remove(&mut self, other: Self)
pub fn remove(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
remove
won’t truncate other
, but the !
operator will.
sourcepub fn toggle(&mut self, other: Self)
pub fn toggle(&mut self, other: Self)
The bitwise exclusive-or (^
) of the bits in two flags values.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Call insert
when value
is true
or remove
when value
is false
.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
The bitwise and (&
) of the bits in two flags values.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
The bitwise or (|
) of the bits in two flags values.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
The bitwise exclusive-or (^
) of the bits in two flags values.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
The bitwise negation (!
) of the bits in a flags value, truncating the result.
source§impl MinidumpType
impl MinidumpType
sourcepub const fn iter(&self) -> Iter<MinidumpType>
pub const fn iter(&self) -> Iter<MinidumpType>
Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
sourcepub const fn iter_names(&self) -> IterNames<MinidumpType>
pub const fn iter_names(&self) -> IterNames<MinidumpType>
Yield a set of contained named flags values.
This method is like iter
, except only yields bits in contained named flags.
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
Trait Implementations§
source§impl Binary for MinidumpType
impl Binary for MinidumpType
source§impl BitAnd for MinidumpType
impl BitAnd for MinidumpType
source§impl BitAndAssign for MinidumpType
impl BitAndAssign for MinidumpType
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
The bitwise and (&
) of the bits in two flags values.
source§impl BitOr for MinidumpType
impl BitOr for MinidumpType
source§fn bitor(self, other: MinidumpType) -> Self
fn bitor(self, other: MinidumpType) -> Self
The bitwise or (|
) of the bits in two flags values.
§type Output = MinidumpType
type Output = MinidumpType
|
operator.source§impl BitOrAssign for MinidumpType
impl BitOrAssign for MinidumpType
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
The bitwise or (|
) of the bits in two flags values.
source§impl BitXor for MinidumpType
impl BitXor for MinidumpType
source§impl BitXorAssign for MinidumpType
impl BitXorAssign for MinidumpType
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
The bitwise exclusive-or (^
) of the bits in two flags values.
source§impl Clone for MinidumpType
impl Clone for MinidumpType
source§fn clone(&self) -> MinidumpType
fn clone(&self) -> MinidumpType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for MinidumpType
impl Debug for MinidumpType
source§impl Extend<MinidumpType> for MinidumpType
impl Extend<MinidumpType> for MinidumpType
source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
The bitwise or (|
) of the bits in each flags value.
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl Flags for MinidumpType
impl Flags for MinidumpType
source§const FLAGS: &'static [Flag<MinidumpType>] = _
const FLAGS: &'static [Flag<MinidumpType>] = _
source§fn from_bits_retain(bits: u32) -> MinidumpType
fn from_bits_retain(bits: u32) -> MinidumpType
source§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
source§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<Self>
source§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
source§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|
) of the bits in two flags values.source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
&!
). Read moresource§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^
) of the bits in two flags values.source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&
) of the bits in two flags values.source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
&!
). Read moresource§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^
) of the bits in two flags values.source§fn complement(self) -> Self
fn complement(self) -> Self
!
) of the bits in a flags value, truncating the result.source§impl FromIterator<MinidumpType> for MinidumpType
impl FromIterator<MinidumpType> for MinidumpType
source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
The bitwise or (|
) of the bits in each flags value.
source§impl IntoIterator for MinidumpType
impl IntoIterator for MinidumpType
source§impl LowerHex for MinidumpType
impl LowerHex for MinidumpType
source§impl Not for MinidumpType
impl Not for MinidumpType
source§impl Octal for MinidumpType
impl Octal for MinidumpType
source§impl PublicFlags for MinidumpType
impl PublicFlags for MinidumpType
source§impl Sub for MinidumpType
impl Sub for MinidumpType
source§fn sub(self, other: Self) -> Self
fn sub(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.
§type Output = MinidumpType
type Output = MinidumpType
-
operator.source§impl SubAssign for MinidumpType
impl SubAssign for MinidumpType
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.