DoxigAlpha

checkMemIsAddressable

Check that memory at qzz.ptr is addressable for qzz.len bytes. If suitable addressability is not established, Valgrind prints an error message and returns the address of the first offending byte. Otherwise it returns zero.

Function parameters

Parameters

#
qzz:[]const u8

Type definitions in this namespace

Types

#

Mark memory at qzz.ptr as unaddressable for qzz.len bytes.

Functions

#
makeMemNoAccess
Mark memory at qzz.ptr as unaddressable for qzz.len bytes.
makeMemUndefined
Mark memory at qzz.ptr as addressable but undefined for qzz.len bytes.
makeMemDefined
Mark memory at qzz.ptr as addressable and defined or qzz.len bytes.
makeMemDefinedIfAddressable
Similar to makeMemDefined except that addressability is
createBlock
Create a block-description handle.
discard
Discard a block-description-handle.
checkMemIsAddressable
Check that memory at qzz.ptr is addressable for qzz.len bytes.
checkMemIsDefined
Check that memory at qzz.ptr is addressable and defined for
doLeakCheck
Do a full memory leak check (like --leak-check=full) mid-execution.
doAddedLeakCheck
Same as doLeakCheck() but only showing the entries for
doChangedLeakCheck
Same as doAddedLeakCheck() but showing entries with
doQuickLeakCheck
Do a summary memory leak check (like --leak-check=summary) mid-execution.
getVbits
Get the validity data for addresses zza and copy it
setVbits
Set the validity data for addresses zza, copying it
disableAddrErrorReportingInRange
Disable and re-enable reporting of addressing errors in the

Source

Implementation

#
pub fn checkMemIsAddressable(qzz: []const u8) usize {
    return doClientRequestExpr(0, .CheckMemIsAddressable, @intFromPtr(qzz.ptr), qzz.len, 0, 0, 0);
}