gczhou / vgrs

Valgrind client requests for Rust

Home Page:https://crates.io/crates/vgrs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Valgrind client requests for Rust

https://crates.io/crates/vgrs

License:Mozilla Public License 2.0


Languages

Language:Rust 96.1%Language:Makefile 3.9%