summaryrefslogtreecommitdiff
path: root/rust/examples/disassemble.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/disassemble.rs
parent6f75ca031aa7e8f7e1c706d1880b202137b1996f (diff)
[Rust] Update examples to use tracing
Diffstat (limited to 'rust/examples/disassemble.rs')
-rw-r--r--rust/examples/disassemble.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/rust/examples/disassemble.rs b/rust/examples/disassemble.rs
index 2065c787..ce3ff765 100644
--- a/rust/examples/disassemble.rs
+++ b/rust/examples/disassemble.rs
@@ -1,6 +1,7 @@
use binaryninja::binary_view::{BinaryViewBase, BinaryViewExt};
use binaryninja::disassembly::{DisassemblyOption, DisassemblySettings, DisassemblyTextRenderer};
use binaryninja::function::Function;
+use binaryninja::tracing::TracingLogListener;
fn disassemble(func: &Function) {
let settings = DisassemblySettings::new();
@@ -17,28 +18,30 @@ fn disassemble(func: &Function) {
if let Some((text, _len)) = text_renderer.instruction_text(instr_addr) {
// TODO: This only ever appears to return a single string?
let text_string: Vec<_> = text.iter().map(|t| t.to_string()).collect();
- println!("{}", text_string.join(""));
+ tracing::info!("{}", text_string.join(""));
}
}
}
}
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() {
disassemble(func.as_ref());