private void btnRun_Click(object sender, RoutedEventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Programs|*.exe|All files|*.*"; dlg.DefaultExt = ".exe"; if (!(dlg.ShowDialog() ?? false)) return; string path = dlg.FileName; // remove UI before disposing profiler //this.timeLine.ValuesList.Clear(); if (this.provider != null) this.provider.Close(); if (this.profiler != null) this.profiler.Dispose(); string pathToDb = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(typeof(Profiler.Controller.Profiler).Assembly.Location), "output.sdps"); if (File.Exists(pathToDb)) File.Delete(pathToDb); this.database = new TempFileDatabase(); this.profiler = new Profiler.Controller.Profiler(path, database.GetWriter(), new ProfilerOptions()); profiler.RegisterFailed += delegate { MessageBox.Show("register failed"); }; profiler.DeregisterFailed += delegate { MessageBox.Show("deregister failed"); }; this.profiler.OutputUpdated += profiler_OutputUpdated; this.profiler.SessionEnded += profiler_SessionEnded; this.profiler.Start(); this.btnRun.IsEnabled = false; this.btnStop.IsEnabled = true; }
private void btnRun_Click(object sender, RoutedEventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Programs|*.exe|All files|*.*"; dlg.DefaultExt = ".exe"; if (!(dlg.ShowDialog() ?? false)) { return; } string path = dlg.FileName; // remove UI before disposing profiler //this.timeLine.ValuesList.Clear(); if (this.provider != null) { this.provider.Close(); } if (this.profiler != null) { this.profiler.Dispose(); } string pathToDb = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(typeof(Profiler.Controller.Profiler).Assembly.Location), "output.sdps"); if (File.Exists(pathToDb)) { File.Delete(pathToDb); } this.database = new TempFileDatabase(); this.profiler = new Profiler.Controller.Profiler(path, database.GetWriter(), new ProfilerOptions()); profiler.RegisterFailed += delegate { MessageBox.Show("register failed"); }; profiler.DeregisterFailed += delegate { MessageBox.Show("deregister failed"); }; this.profiler.OutputUpdated += profiler_OutputUpdated; this.profiler.SessionEnded += profiler_SessionEnded; this.profiler.Start(); this.btnRun.IsEnabled = false; this.btnStop.IsEnabled = true; }