diff --git a/src/profiler.rs b/src/profiler.rs index d818b0d..1d9359d 100644 --- a/src/profiler.rs +++ b/src/profiler.rs @@ -200,8 +200,14 @@ impl ProfilerSession { } async fn start_profiling(&mut self, file_path: PathBuf) -> Result<()> { - self.program = Some(ProgramState::new(file_path).await?); - self.recording = None; + let program = ProgramState::new(file_path).await?; + let recording = if self.recording.is_some() { + Some(Recording::new(&program)) + } else { + None + }; + self.program = Some(program); + self.recording = recording; Ok(()) }