Skip to content

Latest commit

 

History

History
34 lines (25 loc) · 1.15 KB

README.md

File metadata and controls

34 lines (25 loc) · 1.15 KB

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.