Example #1
0
        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;
        }
Example #2
0
 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);
     }
 }
Example #3
0
 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;
 }
Example #4
0
		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;
		}
Example #5
0
 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;
 }
Example #6
0
        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;
        }
Example #7
0
        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;
        }
Example #8
0
 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);
 }
Example #9
0
		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;
		}