Exemplo n.º 1
0
        public PinnedObjectsWindow(string title, DebuggingSession session, TaskScheduler taskScheduler)
            : base(title, session, taskScheduler)
        {
            _analyzer = new PinnedObjectsAnalyzer(this);

            Icon = BitmapFrame.Create(new Uri(@"pack://application:,,,/Panes/PinkPin.png", UriKind.RelativeOrAbsolute));
        }
        public ThreadPoolWindow(string title, DebuggingSession session, TaskScheduler taskScheduler)
            : base(title, session, taskScheduler)
        {
            _analyzer = new ThreadPoolAnalyzer(this);

            Icon = BitmapFrame.Create(new Uri(@"pack://application:,,,/Panes/deadpool.png", UriKind.RelativeOrAbsolute));
        }
Exemplo n.º 3
0
        public StringsWindow(string title, DebuggingSession session, TaskScheduler taskScheduler)
            : base(title, session, taskScheduler)
        {
            _analyzer = new DuplicatedStringAnalyzer(this);
            ((DuplicatedStringAnalyzer)_analyzer).MinCountThreshold = 100;

            Icon = BitmapFrame.Create(new Uri(@"pack://application:,,,/Panes/strings.png", UriKind.RelativeOrAbsolute));
        }
Exemplo n.º 4
0
        public AnalysisWindow(string title, DebuggingSession session, TaskScheduler taskScheduler)
        {
            InitializeComponent();

            Title      = title;
            _scheduler = taskScheduler;
            _session   = session;
        }
        public GCMemoryWindow(string title, DebuggingSession session, TaskScheduler taskScheduler)
        {
            InitializeComponent();

            Icon = BitmapFrame.Create(new Uri(@"pack://application:,,,/Panes/GCMemory.png", UriKind.RelativeOrAbsolute));

            Title      = title;
            _scheduler = taskScheduler;
            _session   = session;

            // start the progress bar: it will be stopped at the end of the analysis
            StartProgress();

            RunAsync((Action)(() => Initialize()));
        }
Exemplo n.º 6
0
        private void OpenDumpFile(string filename, string localSymbolCache)
        {
            if (_session == null)
            {
                _session = new DebuggingSession(localSymbolCache);
            }

            CloseAnalysisPanes();

            string errorMessage = null;

            try
            {
                if (!_session.Open(filename))
                {
                    MessageBox.Show(this, "Impossible to load SOS");
                    _session = null;
                }
            }
            catch (FileNotFoundException x)
            {
                errorMessage = "Impossible to load " + x.Message + "\r\nCopy it (with sos.dll) from the machine where the dump was taken\r\ninto the same folder as the .dmp file";
                _session     = null;
            }
            catch (Exception x)
            {
                errorMessage = "Impossible to load dump file: " + x.Message;
                _session     = null;
            }

            if (errorMessage != null)
            {
                Dispatcher.Invoke(() =>
                                  MessageBox.Show(this, errorMessage)
                                  );
            }
        }