@@ -799,6 +799,7 @@ impl CollectionResults {
799
799
let mut v = vec ! [ ] ;
800
800
801
801
for callstack in self . iter_callstacks ( ) {
802
+ let mut empty_callstack = true ;
802
803
callstack. iter_resolved_addresses (
803
804
& pdb_db,
804
805
& mut v,
@@ -809,8 +810,10 @@ impl CollectionResults {
809
810
return Ok ( ( ) ) ;
810
811
}
811
812
}
813
+ let mut printed = false ;
812
814
for symbol_name in symbol_names {
813
815
if let Some ( image_name) = image_name {
816
+ printed = true ;
814
817
if displacement != 0 {
815
818
writeln ! ( w, "\t \t {image_name}`{symbol_name}+0x{displacement:X}" ) ?;
816
819
} else {
@@ -819,22 +822,29 @@ impl CollectionResults {
819
822
} else {
820
823
// Image name not found
821
824
if displacement != 0 {
825
+ printed = true ;
822
826
writeln ! ( w, "\t \t {symbol_name}+0x{displacement:X}" ) ?;
823
827
} else {
824
- writeln ! ( w, "\t \t {symbol_name}" ) ?;
828
+ if !symbol_name. is_empty ( ) {
829
+ printed = true ;
830
+ writeln ! ( w, "\t \t {symbol_name}" ) ?;
831
+ }
825
832
}
826
833
}
827
834
}
828
- if symbol_names. is_empty ( ) {
835
+ if symbol_names. is_empty ( ) || !printed {
829
836
// Symbol not found
830
837
writeln ! ( w, "\t \t `0x{address:X}" ) ?;
831
838
}
839
+ empty_callstack = false ;
832
840
Ok ( ( ) )
833
841
} ,
834
842
) ?;
835
- //}
836
- let count = callstack. sample_count ;
837
- write ! ( w, "\t \t {count}\n \n " ) ?;
843
+
844
+ if !empty_callstack {
845
+ let count = callstack. sample_count ;
846
+ write ! ( w, "\t \t {count}\n \n " ) ?;
847
+ }
838
848
}
839
849
Ok ( ( ) )
840
850
}
0 commit comments