Find
C
ase-sensitive
R
egexp search
Path
comm-central
/
third_party
/
rust
/
minidump-common
/
src
Navigation
Enable keyboard shortcuts
Name
Description
Size
errors
format.rs
Minidump structure definitions. Types defined here should match those defined in [Microsoft's headers][msdn]. Additionally some [Breakpad][breakpad] and [Crashpad][crashpad] extension types are defined here and should match the definitions from those projects. # Type Layouts This library isn't a "proper" minidump-sys library because it doesn't use repr attributes to force Rust to layout these structs identically to how they're laid out in memory. The reasons for this are 3-fold: 1. It isn't necessary because we specify how to serialize/deserialize things with `scroll` via `derive(Pread, Pwrite)` which uses the declared field order and not the in-memory layout, and assumes everything is packed anyway, which as a rule, minidump types are. Specifically they're packed to align 4, but Microsoft is mercifully very attentive to its type layouts so we're not aware of anywhere where packing to align 1 would change offsets. Packing is mostly just there so 32-bit and 64-bit definitely agree on offsets. 2. We would have to mark several types as `repr(packed(4))`, making them dangerous to use as several of the fields would become misaligned. This would create a bunch of unnecessary and brittle `unsafe`. 3. It's not *actually* that useful to have structs with precise in-memory layouts since a minidump parser needs to accept both little-endian and big-endian minidumps, and is therefore swizzling the bytes of all the values anyway. Also it's dangerous to reinterpret a pile of memory as arbitrary types without validation! [msdn]: https://docs.microsoft.com/en-us/windows/win32/api/minidumpapiset/ [breakpad]: https://chromium.googlesource.com/breakpad/breakpad/ [crashpad]: https://chromium.googlesource.com/crashpad/crashpad/+/master/README.md
100068
lib.rs
This crate defines [structs for the on-disk minidump format](format/index.html) as well as [some common traits](traits/index.html) used by related crates. You probably don't want to use this crate directly, the [minidump][minidump] crate provides the actual functionality of reading minidumps using the structs defined in this crate. [minidump]: https://crates.io/crates/minidump
513
traits.rs
Some common traits used by minidump-related crates.
4630
utils.rs
Utility functions, only pathname handling at the moment.
199