43
43
S : Unpin + HasMetadata ,
44
44
T : SaturatingAdd + From < u8 > + Debug + ' static ,
45
45
{
46
- // type ModuleAddressFilter = Self;
47
- // type ModulePageFilter = NopPageFilter;
48
-
49
46
fn pre_qemu_init < ET > (
50
47
& mut self ,
51
48
emulator_modules : & mut EmulatorModules < ET , I , S > ,
56
53
emulator_modules
57
54
. thread_creation ( NewThreadHook :: Function ( intel_pt_new_thread :: < ET , I , S , T > ) )
58
55
. unwrap ( ) ;
59
- // TODO emulator_modules.thread_teradown
56
+ // fixme: consider implementing a clean emulator_modules.thread_teradown
60
57
}
61
58
62
59
fn pre_exec < ET > (
@@ -86,17 +83,10 @@ where
86
83
{
87
84
let pt = self . pt . as_mut ( ) . expect ( "Intel PT module not initialized." ) ;
88
85
pt. disable_tracing ( ) . unwrap ( ) ;
89
- // TODO handle self modifying code
90
-
91
- // TODO log errors or panic or smth
92
- // let _ = pt.decode_with_callback(
93
- // |addr, out_buff| {
94
- // let _ = qemu.read_mem(out_buff, addr.into());
95
- // },
96
- // unsafe { &mut *slice_from_raw_parts_mut(self.map_ptr, self.map_len) },
97
- // );
98
86
99
- let _ = pt. decode_traces_into_map ( & mut self . image , self . map_ptr , self . map_len ) ;
87
+ let _ = pt
88
+ . decode_traces_into_map ( & mut self . image , self . map_ptr , self . map_len )
89
+ . inspect_err ( |e| log:: warn!( "Intel PT trace decode failed: {e}" ) ) ;
100
90
101
91
#[ cfg( feature = "intel_pt_export_raw" ) ]
102
92
{
@@ -105,22 +95,6 @@ where
105
95
. inspect_err ( |e| log:: warn!( "Intel PT trace save to file failed: {e}" ) ) ;
106
96
}
107
97
}
108
-
109
- // fn address_filter(&self) -> &Self::ModuleAddressFilter {
110
- // self
111
- // }
112
- //
113
- // fn address_filter_mut(&mut self) -> &mut Self::ModuleAddressFilter {
114
- // self
115
- // }
116
- //
117
- // fn page_filter(&self) -> &Self::ModulePageFilter {
118
- // unimplemented!()
119
- // }
120
- //
121
- // fn page_filter_mut(&mut self) -> &mut Self::ModulePageFilter {
122
- // unimplemented!()
123
- // }
124
98
}
125
99
126
100
impl < T > AddressFilter for IntelPTModule < T >
@@ -177,6 +151,5 @@ where
177
151
178
152
intel_pt_module. pt = Some ( pt) ;
179
153
180
- // What does this bool mean? ignore for the moment
181
154
true
182
155
}
0 commit comments