Crates.io | cannonball |
lib.rs | cannonball |
version | 0.2.6 |
source | src |
created_at | 2022-11-05 23:01:00.115066 |
updated_at | 2023-07-21 18:19:59.292718 |
description | QEMU tracing framework |
homepage | |
repository | |
max_upload_size | |
id | 706179 |
size | 28,057 |
Cannonball is a framework for building QEMU plugins in Rust! Anything you can do in
a QEMU TCG plugin in C, you can do with cannonball
.
Write plugins that run with minimal overhead and as much functionality as you can dream of!
There are a couple examples provided here!
jaivana
A simple tracer that logs a configurable set of events to a file or stdout.mons meg
A tracer that logs the same events as Jaivana, but uses Tokio to run the trace in an async environment, with communication
with the host over a UNIX socket instead of anonymous pipes.Unfortunately, the documentation isn't building on docs.rs
. Something about building
the entirety of QEMU is busting their process limits a little! For now, you can build
and view local docs with:
cargo doc --open
Or, the source code is all doc-stringed up :)
Just add this to your Cargo.toml
:
cannonball = "0.2.3"
Here's a quick recording of the Jaivana example plugin and driver!