We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 7931daa commit c6cb661Copy full SHA for c6cb661
crates/libafl_qemu/src/modules/calls.rs
@@ -618,6 +618,24 @@ impl FullBacktraceCollector {
618
}
619
620
621
+
622
+ pub fn backtrace_full() -> Option<Vec<&'static Vec<GuestAddr>>> {
623
+ // # Safety
624
+ // This accesses the global [`CALLSTACKS`] variable.
625
+ // However, the actual variable access is behind a `ThreadLocal` class.
626
+ let callstacks_ptr = &raw mut CALLSTACKS;
627
+ unsafe {
628
+ if let Some(c) = (*callstacks_ptr).as_mut() {
629
+ let mut res = Vec::new();
630
+ for tls in &mut *c {
631
+ res.push(&*tls.get());
632
+ }
633
+ Some(res)
634
+ } else {
635
+ None
636
637
638
639
640
641
impl CallTraceCollector for FullBacktraceCollector {
0 commit comments