LocalsVM(IImageManager imageManager, IDebuggerSettings debuggerSettings, ILocalsSettings localsSettings, IMethodLocalProvider methodLocalProvider, IStackFrameManager stackFrameManager, ITheDebugger theDebugger, IAskUser askUser) { this.dispatcher = Dispatcher.CurrentDispatcher; this.askUser = askUser; this.methodLocalProvider = methodLocalProvider; this.debuggerSettings = debuggerSettings; this.stackFrameManager = stackFrameManager; this.theDebugger = theDebugger; this.printerContext = new PrinterContext(imageManager) { SyntaxHighlight = debuggerSettings.SyntaxHighlightLocals, UseHexadecimal = debuggerSettings.UseHexadecimal, TypePrinterFlags = TypePrinterFlags.ShowArrayValueSizes, }; this.printerContext.TypePrinterFlags = GetTypePrinterFlags(localsSettings, this.printerContext.TypePrinterFlags); this.printerContext.TypePrinterFlags = GetTypePrinterFlags(debuggerSettings, this.printerContext.TypePrinterFlags); methodLocalProvider.NewMethodInfoAvailable += MethodLocalProvider_NewMethodInfoAvailable; this.rootNode = new SharpTreeNode(); stackFrameManager.StackFramesUpdated += StackFrameManager_StackFramesUpdated; stackFrameManager.PropertyChanged += StackFrameManager_PropertyChanged; theDebugger.OnProcessStateChanged += TheDebugger_OnProcessStateChanged; theDebugger.ProcessRunning += TheDebugger_ProcessRunning; debuggerSettings.PropertyChanged += DebuggerSettings_PropertyChanged; localsSettings.PropertyChanged += LocalsSettings_PropertyChanged; }
internal static void Execute(IStackFrameManager stackFrameManager, IFileTabManager fileTabManager, IModuleLoader moduleLoader, CallStackFrameVM vm, bool newTab) { if (vm != null) { stackFrameManager.SelectedFrameNumber = vm.Index; FrameUtils.GoTo(fileTabManager, moduleLoader, vm.Frame, newTab); } }
CallStackMarker(IStackFrameManager stackFrameManager, IGlyphTextMarkerService glyphTextMarkerService, IClassificationTypeRegistryService classificationTypeRegistryService, Lazy <ActiveStatementService> activeStatementService) { this.stackFrameManager = stackFrameManager; this.glyphTextMarkerService = glyphTextMarkerService; this.classificationTypeCurrentStatement = classificationTypeRegistryService.GetClassificationType(ThemeClassificationTypeNames.CurrentStatement); this.classificationTypeCallReturn = classificationTypeRegistryService.GetClassificationType(ThemeClassificationTypeNames.CallReturn); this.activeStatementService = activeStatementService; stackFrameManager.NewFrames += StackFrameManager_NewFrames; }
ThreadsVM(ITheDebugger theDebugger, IStackFrameManager stackFrameManager, IDebuggerSettings debuggerSettings, IImageManager imageManager) { this.theDebugger = theDebugger; this.stackFrameManager = stackFrameManager; this.threadContext = new ThreadContext(imageManager, theDebugger, debuggerSettings) { SyntaxHighlight = debuggerSettings.SyntaxHighlightThreads, UseHexadecimal = debuggerSettings.UseHexadecimal, }; this.threadsList = new ObservableCollection<ThreadVM>(); stackFrameManager.StackFramesUpdated += StackFrameManager_StackFramesUpdated; stackFrameManager.PropertyChanged += StackFrameManager_PropertyChanged; theDebugger.OnProcessStateChanged += TheDebugger_OnProcessStateChanged; debuggerSettings.PropertyChanged += DebuggerSettings_PropertyChanged; theDebugger.ProcessRunning += TheDebugger_ProcessRunning; }
ThreadsVM(ITheDebugger theDebugger, IStackFrameManager stackFrameManager, IDebuggerSettings debuggerSettings, IImageManager imageManager) { this.theDebugger = theDebugger; this.stackFrameManager = stackFrameManager; this.threadContext = new ThreadContext(imageManager, theDebugger, debuggerSettings) { SyntaxHighlight = debuggerSettings.SyntaxHighlightThreads, UseHexadecimal = debuggerSettings.UseHexadecimal, }; this.threadsList = new ObservableCollection <ThreadVM>(); stackFrameManager.StackFramesUpdated += StackFrameManager_StackFramesUpdated; stackFrameManager.PropertyChanged += StackFrameManager_PropertyChanged; theDebugger.OnProcessStateChanged += TheDebugger_OnProcessStateChanged; debuggerSettings.PropertyChanged += DebuggerSettings_PropertyChanged; theDebugger.ProcessRunning += TheDebugger_ProcessRunning; }
CallStackVM(IDebuggerSettings debuggerSettings, ICallStackSettings callStackSettings, IStackFrameManager stackFrameManager, ITheDebugger theDebugger, IImageManager imageManager) { this.debuggerSettings = debuggerSettings; this.callStackSettings = callStackSettings; this.theDebugger = theDebugger; this.stackFrameManager = stackFrameManager; this.framesList = new ObservableCollection<ICallStackFrameVM>(); this.callStackFrameContext = new CallStackFrameContext(imageManager) { TypePrinterFlags = TypePrinterFlags, SyntaxHighlight = debuggerSettings.SyntaxHighlightCallStack, }; stackFrameManager.StackFramesUpdated += StackFrameManager_StackFramesUpdated; stackFrameManager.PropertyChanged += StackFrameManager_PropertyChanged; callStackSettings.PropertyChanged += CallStackSettings_PropertyChanged; debuggerSettings.PropertyChanged += DebuggerSettings_PropertyChanged; theDebugger.ProcessRunning += TheDebugger_ProcessRunning; }
CallStackVM(IDebuggerSettings debuggerSettings, ICallStackSettings callStackSettings, IStackFrameManager stackFrameManager, ITheDebugger theDebugger, IImageManager imageManager) { this.debuggerSettings = debuggerSettings; this.callStackSettings = callStackSettings; this.theDebugger = theDebugger; this.stackFrameManager = stackFrameManager; this.framesList = new ObservableCollection <ICallStackFrameVM>(); this.callStackFrameContext = new CallStackFrameContext(imageManager) { TypePrinterFlags = TypePrinterFlags, SyntaxHighlight = debuggerSettings.SyntaxHighlightCallStack, }; stackFrameManager.StackFramesUpdated += StackFrameManager_StackFramesUpdated; stackFrameManager.PropertyChanged += StackFrameManager_PropertyChanged; callStackSettings.PropertyChanged += CallStackSettings_PropertyChanged; debuggerSettings.PropertyChanged += DebuggerSettings_PropertyChanged; theDebugger.ProcessRunning += TheDebugger_ProcessRunning; }
internal static void GoTo(IFileTabManager fileTabManager, IModuleLoader moduleLoader, IStackFrameManager stackFrameManager, ThreadVM vm, bool newTab) { if (vm == null) { return; } stackFrameManager.SelectedThread = vm.Thread; FrameUtils.GoTo(fileTabManager, moduleLoader, vm.Thread.AllFrames.FirstOrDefault(f => f.IsILFrame), newTab); }
DebugManager(IAppWindow appWindow, IFileTabManager fileTabManager, IMessageBoxManager messageBoxManager, IDebuggerSettings debuggerSettings, ITheDebugger theDebugger, IStackFrameManager stackFrameManager, Lazy<IModuleLoader> moduleLoader, Lazy<IInMemoryModuleManager> inMemoryModuleManager, ISerializedDnModuleCreator serializedDnModuleCreator) { this.appWindow = appWindow; this.fileTabManager = fileTabManager; this.messageBoxManager = messageBoxManager; this.debuggerSettings = debuggerSettings; this.theDebugger = theDebugger; this.stackFrameManager = stackFrameManager; this.moduleLoader = moduleLoader; this.inMemoryModuleManager = inMemoryModuleManager; this.serializedDnModuleCreator = serializedDnModuleCreator; stackFrameManager.PropertyChanged += StackFrameManager_PropertyChanged; theDebugger.ProcessRunning += TheDebugger_ProcessRunning; theDebugger.OnProcessStateChanged += TheDebugger_OnProcessStateChanged; appWindow.MainWindowClosing += AppWindow_MainWindowClosing; debuggerSettings.PropertyChanged += DebuggerSettings_PropertyChanged; }