File tree 1 file changed +3
-3
lines changed
1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ use self::stash::Stash;
9
9
use super :: BytesOrWideString ;
10
10
use super :: ResolveWhat ;
11
11
use super :: SymbolName ;
12
- use addr2line:: gimli;
12
+ use addr2line:: { gimli, LookupResultExt } ;
13
13
use core:: convert:: TryInto ;
14
14
use core:: mem;
15
15
use core:: u32;
@@ -358,7 +358,7 @@ pub unsafe fn resolve(what: ResolveWhat<'_>, cb: &mut dyn FnMut(&super::Symbol))
358
358
None => return ,
359
359
} ;
360
360
let mut any_frames = false ;
361
- if let Ok ( mut frames) = cx. dwarf . find_frames ( addr as u64 ) {
361
+ if let Ok ( mut frames) = cx. dwarf . find_frames ( addr as u64 ) . skip_all_loads ( ) {
362
362
while let Ok ( Some ( frame) ) = frames. next ( ) {
363
363
any_frames = true ;
364
364
let name = match frame. function {
@@ -374,7 +374,7 @@ pub unsafe fn resolve(what: ResolveWhat<'_>, cb: &mut dyn FnMut(&super::Symbol))
374
374
}
375
375
if !any_frames {
376
376
if let Some ( ( object_cx, object_addr) ) = cx. object . search_object_map ( addr as u64 ) {
377
- if let Ok ( mut frames) = object_cx. dwarf . find_frames ( object_addr) {
377
+ if let Ok ( mut frames) = object_cx. dwarf . find_frames ( object_addr) . skip_all_loads ( ) {
378
378
while let Ok ( Some ( frame) ) = frames. next ( ) {
379
379
any_frames = true ;
380
380
call ( Symbol :: Frame {
You can’t perform that action at this time.
0 commit comments