From 1d8941667906dced913a308c9a39fd055ac5186f Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Mon, 16 Oct 2023 22:41:38 +0200 Subject: Filter sys calls --- src/trace.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/trace.rs') diff --git a/src/trace.rs b/src/trace.rs index cbb52c3..2341394 100644 --- a/src/trace.rs +++ b/src/trace.rs @@ -59,9 +59,17 @@ pub fn trace(pid: Pid, args: &Args) -> anyhow::Result> { // because it could be equals except for the `rax` register. let mut have_to_print = true; + let filters: Vec<&str> = match &args.filter { + Some(filter) => filter.split(",").collect::>(), + None => vec![], + }; while let Some(reg) = trace_next(pid)? { have_to_print ^= true; if have_to_print { + if !filters.is_empty() && !filters.contains(®.rax()) { + continue; + } + if let Some(ref mut f) = f { writeln!(f, "{}", reg.output())?; } -- cgit v1.2.3-18-g5258