1 unstable release

Uses old Rust 2015

0.1.0 Jan 10, 2015

#10 in #valgrind


Used in ayzim

MPL-2.0-no-copyleft-exception

25KB
482 lines

Valgrind client requests for Rust

Build Status

This library lets Rust programs running inside Valgrind make various requests of Valgrind and its tools. For example:

extern crate vgrs;

use vgrs::valgrind;

fn main() {
    unsafe {
        assert!(valgrind::count_errors() == 0);
        let x: u8 = std::intrinsics::uninit();
        println!("{:u}", x);
        assert!(valgrind::count_errors() > 0);
    }
}

For now this only works on Linux, FreeBSD or MacOS, and only on 32- or 64-bit x86, but support for other platforms should be easy (see src/arch/).

There is API documentation online although it's rather sparse. You will probably want to look at the Valgrind user manual and the C headers in /usr/include/valgrind to learn what all these requests do.

This library builds with Cargo. You can run the tests with make check.

No runtime deps