예제 #1
0
        LocalsVM(IDebuggerSettings debuggerSettings, ILocalsSettings localsSettings, IMethodLocalProvider methodLocalProvider, IStackFrameService stackFrameService, ITheDebugger theDebugger, IAskUser askUser, IClassificationFormatMapService classificationFormatMapService, ITextElementProvider textElementProvider)
        {
            dispatcher               = Dispatcher.CurrentDispatcher;
            this.askUser             = askUser;
            this.methodLocalProvider = methodLocalProvider;
            this.debuggerSettings    = debuggerSettings;
            this.stackFrameService   = stackFrameService;
            TheDebugger              = theDebugger;

            var classificationFormatMap = classificationFormatMapService.GetClassificationFormatMap(AppearanceCategoryConstants.UIMisc);

            printerContext = new PrinterContext(classificationFormatMap, textElementProvider)
            {
                SyntaxHighlight  = debuggerSettings.SyntaxHighlightLocals,
                UseHexadecimal   = debuggerSettings.UseHexadecimal,
                TypePrinterFlags = TypePrinterFlags.ShowArrayValueSizes,
            };
            printerContext.TypePrinterFlags = GetTypePrinterFlags(localsSettings, printerContext.TypePrinterFlags);
            printerContext.TypePrinterFlags = GetTypePrinterFlags(debuggerSettings, printerContext.TypePrinterFlags);

            methodLocalProvider.NewMethodInfoAvailable += MethodLocalProvider_NewMethodInfoAvailable;
            Root = new SharpTreeNode();
            stackFrameService.StackFramesUpdated += StackFrameService_StackFramesUpdated;
            stackFrameService.PropertyChanged    += StackFrameService_PropertyChanged;
            theDebugger.OnProcessStateChanged    += TheDebugger_OnProcessStateChanged;
            theDebugger.ProcessRunning           += TheDebugger_ProcessRunning;
            debuggerSettings.PropertyChanged     += DebuggerSettings_PropertyChanged;
            localsSettings.PropertyChanged       += LocalsSettings_PropertyChanged;
            classificationFormatMap.ClassificationFormatMappingChanged += ClassificationFormatMap_ClassificationFormatMappingChanged;
        }
예제 #2
0
        LocalsVM(IDebuggerSettings debuggerSettings, ILocalsSettings localsSettings, IMethodLocalProvider methodLocalProvider, IStackFrameService stackFrameService, ITheDebugger theDebugger, IAskUser askUser)
        {
            this.dispatcher          = Dispatcher.CurrentDispatcher;
            this.askUser             = askUser;
            this.methodLocalProvider = methodLocalProvider;
            this.debuggerSettings    = debuggerSettings;
            this.stackFrameService   = stackFrameService;
            this.TheDebugger         = theDebugger;

            this.printerContext = new PrinterContext()
            {
                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.Root = new SharpTreeNode();
            stackFrameService.StackFramesUpdated += StackFrameService_StackFramesUpdated;
            stackFrameService.PropertyChanged    += StackFrameService_PropertyChanged;
            theDebugger.OnProcessStateChanged    += TheDebugger_OnProcessStateChanged;
            theDebugger.ProcessRunning           += TheDebugger_ProcessRunning;
            debuggerSettings.PropertyChanged     += DebuggerSettings_PropertyChanged;
            localsSettings.PropertyChanged       += LocalsSettings_PropertyChanged;
        }
예제 #3
0
 internal static void Execute(IModuleIdProvider moduleIdProvider, IStackFrameService stackFrameService, IDocumentTabService documentTabService, IModuleLoader moduleLoader, CallStackFrameVM vm, bool newTab)
 {
     if (vm != null)
     {
         stackFrameService.SelectedFrameNumber = vm.Index;
         FrameUtils.GoTo(moduleIdProvider, documentTabService, moduleLoader, vm.Frame, newTab);
     }
 }
예제 #4
0
 CallStackMarker(IStackFrameService stackFrameService, IGlyphTextMarkerService glyphTextMarkerService, IClassificationTypeRegistryService classificationTypeRegistryService, Lazy <ActiveStatementService> activeStatementService)
 {
     this.stackFrameService             = stackFrameService;
     this.glyphTextMarkerService        = glyphTextMarkerService;
     classificationTypeCurrentStatement = classificationTypeRegistryService.GetClassificationType(ThemeClassificationTypeNames.CurrentStatement);
     classificationTypeCallReturn       = classificationTypeRegistryService.GetClassificationType(ThemeClassificationTypeNames.CallReturn);
     this.activeStatementService        = activeStatementService;
     stackFrameService.NewFrames       += StackFrameService_NewFrames;
 }
예제 #5
0
 ThreadsVM(ITheDebugger theDebugger, IStackFrameService stackFrameService, IDebuggerSettings debuggerSettings)
 {
     this.theDebugger       = theDebugger;
     this.stackFrameService = stackFrameService;
     this.threadContext     = new ThreadContext(theDebugger, debuggerSettings)
     {
         SyntaxHighlight = debuggerSettings.SyntaxHighlightThreads,
         UseHexadecimal  = debuggerSettings.UseHexadecimal,
     };
     this.threadsList = new ObservableCollection <ThreadVM>();
     stackFrameService.StackFramesUpdated += StackFrameService_StackFramesUpdated;
     stackFrameService.PropertyChanged    += StackFrameService_PropertyChanged;
     theDebugger.OnProcessStateChanged    += TheDebugger_OnProcessStateChanged;
     debuggerSettings.PropertyChanged     += DebuggerSettings_PropertyChanged;
     theDebugger.ProcessRunning           += TheDebugger_ProcessRunning;
 }
예제 #6
0
		ThreadsVM(ITheDebugger theDebugger, IStackFrameService stackFrameService, IDebuggerSettings debuggerSettings, IClassificationFormatMapService classificationFormatMapService, ITextElementProvider textElementProvider) {
			this.theDebugger = theDebugger;
			this.stackFrameService = stackFrameService;
			var classificationFormatMap = classificationFormatMapService.GetClassificationFormatMap(AppearanceCategoryConstants.UIMisc);
			threadContext = new ThreadContext(theDebugger, debuggerSettings, classificationFormatMap, textElementProvider) {
				SyntaxHighlight = debuggerSettings.SyntaxHighlightThreads,
				UseHexadecimal = debuggerSettings.UseHexadecimal,
			};
			threadsList = new ObservableCollection<ThreadVM>();
			stackFrameService.StackFramesUpdated += StackFrameService_StackFramesUpdated;
			stackFrameService.PropertyChanged += StackFrameService_PropertyChanged;
			theDebugger.OnProcessStateChanged += TheDebugger_OnProcessStateChanged;
			debuggerSettings.PropertyChanged += DebuggerSettings_PropertyChanged;
			theDebugger.ProcessRunning += TheDebugger_ProcessRunning;
			classificationFormatMap.ClassificationFormatMappingChanged += ClassificationFormatMap_ClassificationFormatMappingChanged;
		}
예제 #7
0
        CallStackVM(IDebuggerSettings debuggerSettings, ICallStackSettings callStackSettings, IStackFrameService stackFrameService, ITheDebugger theDebugger)
        {
            this.debuggerSettings      = debuggerSettings;
            this.callStackSettings     = callStackSettings;
            this.theDebugger           = theDebugger;
            this.stackFrameService     = stackFrameService;
            this.framesList            = new ObservableCollection <ICallStackFrameVM>();
            this.callStackFrameContext = new CallStackFrameContext()
            {
                TypePrinterFlags = TypePrinterFlags,
                SyntaxHighlight  = debuggerSettings.SyntaxHighlightCallStack,
            };

            stackFrameService.StackFramesUpdated += StackFrameService_StackFramesUpdated;
            stackFrameService.PropertyChanged    += StackFrameService_PropertyChanged;
            callStackSettings.PropertyChanged    += CallStackSettings_PropertyChanged;
            debuggerSettings.PropertyChanged     += DebuggerSettings_PropertyChanged;
            theDebugger.ProcessRunning           += TheDebugger_ProcessRunning;
        }
예제 #8
0
        ThreadsVM(ITheDebugger theDebugger, IStackFrameService stackFrameService, IDebuggerSettings debuggerSettings, IClassificationFormatMapService classificationFormatMapService, ITextElementProvider textElementProvider)
        {
            this.theDebugger       = theDebugger;
            this.stackFrameService = stackFrameService;
            var classificationFormatMap = classificationFormatMapService.GetClassificationFormatMap(AppearanceCategoryConstants.UIMisc);

            threadContext = new ThreadContext(theDebugger, debuggerSettings, classificationFormatMap, textElementProvider)
            {
                SyntaxHighlight = debuggerSettings.SyntaxHighlightThreads,
                UseHexadecimal  = debuggerSettings.UseHexadecimal,
            };
            threadsList = new ObservableCollection <ThreadVM>();
            stackFrameService.StackFramesUpdated += StackFrameService_StackFramesUpdated;
            stackFrameService.PropertyChanged    += StackFrameService_PropertyChanged;
            theDebugger.OnProcessStateChanged    += TheDebugger_OnProcessStateChanged;
            debuggerSettings.PropertyChanged     += DebuggerSettings_PropertyChanged;
            theDebugger.ProcessRunning           += TheDebugger_ProcessRunning;
            classificationFormatMap.ClassificationFormatMappingChanged += ClassificationFormatMap_ClassificationFormatMappingChanged;
        }
예제 #9
0
        CallStackVM(IDebuggerSettings debuggerSettings, ICallStackSettings callStackSettings, IStackFrameService stackFrameService, ITheDebugger theDebugger, IClassificationFormatMapService classificationFormatMapService, ITextElementProvider textElementProvider)
        {
            var classificationFormatMap = classificationFormatMapService.GetClassificationFormatMap(AppearanceCategoryConstants.UIMisc);

            this.debuggerSettings  = debuggerSettings;
            this.callStackSettings = callStackSettings;
            this.theDebugger       = theDebugger;
            this.stackFrameService = stackFrameService;
            framesList             = new ObservableCollection <ICallStackFrameVM>();
            callStackFrameContext  = new CallStackFrameContext(classificationFormatMap, textElementProvider)
            {
                TypePrinterFlags = TypePrinterFlags,
                SyntaxHighlight  = debuggerSettings.SyntaxHighlightCallStack,
            };

            stackFrameService.StackFramesUpdated += StackFrameService_StackFramesUpdated;
            stackFrameService.PropertyChanged    += StackFrameService_PropertyChanged;
            callStackSettings.PropertyChanged    += CallStackSettings_PropertyChanged;
            debuggerSettings.PropertyChanged     += DebuggerSettings_PropertyChanged;
            theDebugger.ProcessRunning           += TheDebugger_ProcessRunning;
            classificationFormatMap.ClassificationFormatMappingChanged += ClassificationFormatMap_ClassificationFormatMappingChanged;
        }
예제 #10
0
파일: Commands.cs 프로젝트: pashav15/pashav
 internal static void GoTo(IModuleIdProvider moduleIdProvider, IDocumentTabService documentTabService, IModuleLoader moduleLoader, IStackFrameService stackFrameService, ThreadVM vm, bool newTab)
 {
     if (vm == null)
     {
         return;
     }
     stackFrameService.SelectedThread = vm.Thread;
     FrameUtils.GoTo(moduleIdProvider, documentTabService, moduleLoader, vm.Thread.AllFrames.FirstOrDefault(f => f.IsILFrame), newTab);
 }
예제 #11
0
		DebugService(IAppWindow appWindow, IDocumentTabService documentTabService, IMessageBoxService messageBoxService, IDebuggerSettings debuggerSettings, ITheDebugger theDebugger, IStackFrameService stackFrameService, Lazy<IModuleLoader> moduleLoader, Lazy<IInMemoryModuleService> inMemoryModuleService, IModuleIdProvider moduleIdProvider, IClassificationFormatMapService classificationFormatMapService, ITextElementProvider textElementProvider) {
			this.appWindow = appWindow;
			this.documentTabService = documentTabService;
			this.messageBoxService = messageBoxService;
			DebuggerSettings = debuggerSettings;
			this.theDebugger = theDebugger;
			StackFrameService = stackFrameService;
			this.moduleLoader = moduleLoader;
			this.inMemoryModuleService = inMemoryModuleService;
			this.moduleIdProvider = moduleIdProvider;
			this.classificationFormatMapService = classificationFormatMapService;
			this.textElementProvider = textElementProvider;
			stackFrameService.PropertyChanged += StackFrameService_PropertyChanged;
			theDebugger.ProcessRunning += TheDebugger_ProcessRunning;
			theDebugger.OnProcessStateChanged += TheDebugger_OnProcessStateChanged;
			appWindow.MainWindowClosing += AppWindow_MainWindowClosing;
			debuggerSettings.PropertyChanged += DebuggerSettings_PropertyChanged;
		}
예제 #12
0
		CallStackVM(IDebuggerSettings debuggerSettings, ICallStackSettings callStackSettings, IStackFrameService stackFrameService, ITheDebugger theDebugger, IClassificationFormatMapService classificationFormatMapService, ITextElementProvider textElementProvider) {
			var classificationFormatMap = classificationFormatMapService.GetClassificationFormatMap(AppearanceCategoryConstants.UIMisc);
			this.debuggerSettings = debuggerSettings;
			this.callStackSettings = callStackSettings;
			this.theDebugger = theDebugger;
			this.stackFrameService = stackFrameService;
			framesList = new ObservableCollection<ICallStackFrameVM>();
			callStackFrameContext = new CallStackFrameContext(classificationFormatMap, textElementProvider) {
				TypePrinterFlags = TypePrinterFlags,
				SyntaxHighlight = debuggerSettings.SyntaxHighlightCallStack,
			};

			stackFrameService.StackFramesUpdated += StackFrameService_StackFramesUpdated;
			stackFrameService.PropertyChanged += StackFrameService_PropertyChanged;
			callStackSettings.PropertyChanged += CallStackSettings_PropertyChanged;
			debuggerSettings.PropertyChanged += DebuggerSettings_PropertyChanged;
			theDebugger.ProcessRunning += TheDebugger_ProcessRunning;
			classificationFormatMap.ClassificationFormatMappingChanged += ClassificationFormatMap_ClassificationFormatMappingChanged;
		}