Expand description
Synthetic Minidumps for Testing
This is a hacky mess that intentionally doesn’t use minidump-common’s layouts so that we can catch incorrect changes to minidump-common itself. It exists primarily as an internal dev-dependency of rust-minidump, but is published for the sake of satisfying cargo-publish.
Basic usage is to SynthMinidump, use its methods to build up the binary,
and then finish()
to write the binary to a buffer. Then you can either write
that to disk as an actual minidump file or feed it directly to the minidump
or minidump-processor crate.
Structs§
- Annotation
Object - Crashpad
Info - Dump
String - An
MINIDUMP_STRING
, a UTF-16 string preceded by a 4-byte length. - Dump
Utf8 String - ExList
- A stream containing a list of dump entries, using the extended header format.
- ExList
Stream - Exception
- Exception
Record - Guid
- Handle
Descriptor - A minidump handle descriptor.
- List
- A stream containing a list of dump entries.
- List
Stream - Memory
- A range of memory contents.
- Memory64
List Stream - Memory
Info - A minidump memory information element.
- Misc
Fields Build String - MISC_INFO_4 fields guarded by MINIDUMP_MISC4_BUILDSTRING
- Misc
Fields Power Info - MISC_INFO_2 fields guarded by MINIDUMP_MISC1_PROCESSOR_POWER_INFO
- Misc
Fields Process Times - MISC_INFO fields guardard by MINIDUMP_MISC1_PROCESS_TIMES
- Misc
Fields Time Zone - MISC_INFO_3 fields guarded by MINIDUMP_MISC3_TIMEZONE
- Misc
Info5 Fields - MISC_INFO_5 fields (xstate_data must exist if process_cookie is set).
- Misc
Stream - MINIDUMP_MISC_INFO stream.
- Module
- A minidump module.
- Module
Crashpad Info - Link + Info
- Section
Ref - Simple
Stream - A stream of arbitrary data.
- Simple
String Dictionary Entry - Synth
Minidump - A writer of synthetic minidumps.
- System
Info - Thread
- A minidump thread.
- Thread
Name - A minidump thread name.
- Unloaded
Module - A minidump unloaded module.
Enums§
Constants§
- STOCK_
VERSION_ INFO - A fixed set of version info to use for tests.
Traits§
- Cite
Location - Dump
Section - A block of data contained in a minidump.
- List
Item - A list item with optional out-of-band data.
- Section
Extra - Additional methods to make working with
Section
s simpler - Stream
- A minidump stream.
Functions§
- amd64_
context - Populate a
CONTEXT_AMD64
struct with the givenendian
,rip
, andrsp
. - arm64_
context - Populate a
CONTEXT_ARM64
struct with the givenendian
,pc
, andsp
. - x86_
context - Populate a
CONTEXT_X86
struct with the givenendian
,eip
, andesp
.