Skip to content
This repository was archived by the owner on Jan 30, 2024. It is now read-only.

Commit f5b72f2

Browse files
author
Jonas Schievink
authored
Merge pull request #48 from knurling-rs/bt-log
Add some logging to the backtrace code
2 parents e1964b8 + 84300c8 commit f5b72f2

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/main.rs

+7-2
Original file line numberDiff line numberDiff line change
@@ -491,9 +491,13 @@ impl<'c, 'probe> Registers<'c, 'probe> {
491491
match rule {
492492
CfaRule::RegisterAndOffset { register, offset } => {
493493
let cfa = (i64::from(self.get(gimli2probe(register))?) + offset) as u32;
494-
let ok = self.cache.get(&SP.0) != Some(&cfa);
494+
let old_cfa = self.cache.get(&SP.0);
495+
let changed = old_cfa != Some(&cfa);
496+
if changed {
497+
log::debug!("update_cfa: CFA changed {:8x?} -> {:8x}", old_cfa, cfa);
498+
}
495499
self.cache.insert(SP.0, cfa);
496-
Ok(ok)
500+
Ok(changed)
497501
}
498502

499503
// NOTE not encountered in practice so far
@@ -572,6 +576,7 @@ fn backtrace(
572576
}
573577

574578
let lr = registers.get(LR)?;
579+
log::debug!("lr=0x{:08x} pc=0x{:08x}", lr, pc);
575580
if lr == LR_END {
576581
break;
577582
}

0 commit comments

Comments
 (0)