summaryrefslogtreecommitdiff
path: root/rust/examples/decompile.rs
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-12-19 19:15:38 -0500
committerMason Reed <35282038+emesare@users.noreply.github.com>2026-01-11 10:36:01 -0800
commit587a5c0c537a4b3bc5c737e3b3fc1fd5fbca3a59 (patch)
treea01357f3a1ad00bdf6ebde29dfae673da2f78a57 /rust/examples/decompile.rs
parent6f75ca031aa7e8f7e1c706d1880b202137b1996f (diff)
[Rust] Update examples to use tracing
Diffstat (limited to 'rust/examples/decompile.rs')
-rw-r--r--rust/examples/decompile.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/rust/examples/decompile.rs b/rust/examples/decompile.rs
index 8bf3ecc3..6ba9cbf4 100644
--- a/rust/examples/decompile.rs
+++ b/rust/examples/decompile.rs
@@ -2,6 +2,7 @@ use binaryninja::binary_view::{BinaryView, BinaryViewBase, BinaryViewExt};
use binaryninja::disassembly::{DisassemblyOption, DisassemblySettings};
use binaryninja::function::Function;
use binaryninja::linear_view::LinearViewObject;
+use binaryninja::tracing::TracingLogListener;
fn decompile_to_c(view: &BinaryView, func: &Function) {
let settings = DisassemblySettings::new();
@@ -22,26 +23,28 @@ fn decompile_to_c(view: &BinaryView, func: &Function) {
let lines = first.into_iter().chain(&last);
for line in lines {
- println!("{}", line);
+ tracing::info!("{}", line);
}
}
pub fn main() {
+ tracing_subscriber::fmt::init();
+ let _listener = TracingLogListener::new().register();
+
let filename = std::env::args().nth(1).expect("No filename provided");
- println!("Starting session...");
// This loads all the core architecture, platform, etc plugins
let headless_session =
binaryninja::headless::Session::new().expect("Failed to initialize session");
- println!("Loading binary...");
+ tracing::info!("Loading binary...");
let bv = headless_session
.load(&filename)
.expect("Couldn't open file!");
- println!("Filename: `{}`", bv.file().filename());
- println!("File size: `{:#x}`", bv.len());
- println!("Function count: {}", bv.functions().len());
+ tracing::info!("Filename: `{}`", bv.file().filename());
+ tracing::info!("File size: `{:#x}`", bv.len());
+ tracing::info!("Function count: {}", bv.functions().len());
for func in &bv.functions() {
decompile_to_c(bv.as_ref(), func.as_ref());