Enum android_manifest::GwpAsanMode
source · pub enum GwpAsanMode {
Never,
Always,
}
Expand description
GWP-ASan is a native memory allocator feature that helps find use-after-free
and
heap-buffer-overflow
bugs.
Variants§
Never
Always disabled: This setting completely disables GWP-ASan in your app and is the default for non-system apps.
Always
Always enabled: This setting enables GWP-ASan in your app, which includes the following:
- The operating system reserves a fixed amount of RAM for GWP-ASan operations, approximately ~70KiB for each affected process. (Enable GWP-ASan if your app is not critically sensitive to increases in memory usage.)
- GWP-ASan intercepts a randomly-chosen subset of heap allocations and places them into a special region that reliably detects memory safety violations.
- When a memory safety violation occurs in the special region, GWP-ASan terminates the process.
- GWP-ASan provides additional information about the fault in the crash report.
Trait Implementations§
source§impl Clone for GwpAsanMode
impl Clone for GwpAsanMode
source§fn clone(&self) -> GwpAsanMode
fn clone(&self) -> GwpAsanMode
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for GwpAsanMode
impl Debug for GwpAsanMode
source§impl Default for GwpAsanMode
impl Default for GwpAsanMode
source§fn default() -> GwpAsanMode
fn default() -> GwpAsanMode
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for GwpAsanMode
impl<'de> Deserialize<'de> for GwpAsanMode
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq<GwpAsanMode> for GwpAsanMode
impl PartialEq<GwpAsanMode> for GwpAsanMode
source§fn eq(&self, other: &GwpAsanMode) -> bool
fn eq(&self, other: &GwpAsanMode) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for GwpAsanMode
impl Serialize for GwpAsanMode
source§impl YaDeserialize for GwpAsanMode
impl YaDeserialize for GwpAsanMode
fn deserialize<R: Read>(reader: &mut Deserializer<R>) -> Result<Self, String>
source§impl YaSerialize for GwpAsanMode
impl YaSerialize for GwpAsanMode
fn serialize<W: Write>(&self, writer: &mut Serializer<W>) -> Result<(), String>
fn serialize_attributes( &self, source_attributes: Vec<OwnedAttribute>, source_namespace: Namespace ) -> Result<(Vec<OwnedAttribute>, Namespace), String>
impl Eq for GwpAsanMode
impl StructuralEq for GwpAsanMode
impl StructuralPartialEq for GwpAsanMode
Auto Trait Implementations§
impl RefUnwindSafe for GwpAsanMode
impl Send for GwpAsanMode
impl Sync for GwpAsanMode
impl Unpin for GwpAsanMode
impl UnwindSafe for GwpAsanMode
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more