Example #1
0
		public static bool GoToIL(IModuleIdProvider moduleIdProvider, IDocumentTabService documentTabService, IDsDocument document, uint token, uint ilOffset, bool newTab) {
			if (document == null)
				return false;

			var method = document.ModuleDef.ResolveToken(token) as MethodDef;
			if (method == null)
				return false;

			var modId = moduleIdProvider.Create(method.Module);
			var key = new ModuleTokenId(modId, method.MDToken);

			bool found = documentTabService.DocumentTreeView.FindNode(method.Module) != null;
			if (found) {
				documentTabService.FollowReference(method, newTab, true, e => {
					Debug.Assert(e.Tab.UIContext is IDocumentViewer);
					if (e.Success && !e.HasMovedCaret) {
						MoveCaretTo(e.Tab.UIContext as IDocumentViewer, key, ilOffset);
						e.HasMovedCaret = true;
					}
				});
				return true;
			}

			Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => {
				documentTabService.FollowReference(method, newTab, true, e => {
					Debug.Assert(e.Tab.UIContext is IDocumentViewer);
					if (e.Success && !e.HasMovedCaret) {
						MoveCaretTo(e.Tab.UIContext as IDocumentViewer, key, ilOffset);
						e.HasMovedCaret = true;
					}
				});
			}));
			return true;
		}
Example #2
0
		ModuleLoader(Lazy<ITheDebugger> theDebugger, IDebuggerSettings debuggerSettings, IDsDocumentService documentService, Lazy<IInMemoryModuleService> inMemoryModuleService, IModuleIdProvider moduleIdProvider) {
			this.theDebugger = theDebugger;
			this.debuggerSettings = debuggerSettings;
			this.documentService = documentService;
			this.inMemoryModuleService = inMemoryModuleService;
			this.moduleIdProvider = moduleIdProvider;
		}
Example #3
0
 GoToSourceNewTabBreakpointCtxMenuCommand(Lazy <IBreakpointsContent> breakpointsContent, Lazy <IModuleLoader> moduleLoader, IDocumentTabService documentTabService, IModuleIdProvider moduleIdProvider)
     : base(breakpointsContent)
 {
     this.moduleLoader       = moduleLoader;
     this.documentTabService = documentTabService;
     this.moduleIdProvider   = moduleIdProvider;
 }
 GoToStringCtxMenuCommand(Lazy <IStringsAnalyzerContent> stringAnalyzerContent, IDocumentTabService documentTabService, IModuleIdProvider moduleIdProvider)
     : base(stringAnalyzerContent)
 {
     //this.moduleLoader = moduleLoader;
     this.documentTabService = documentTabService;
     this.moduleIdProvider   = moduleIdProvider;
 }
Example #5
0
 GoToSourceCallStackCtxMenuCommand(Lazy <ITheDebugger> theDebugger, Lazy <ICallStackContent> callStackContent, IDocumentTabService documentTabService, Lazy <IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider)
     : base(theDebugger, callStackContent)
 {
     this.documentTabService = documentTabService;
     this.moduleLoader       = moduleLoader;
     this.moduleIdProvider   = moduleIdProvider;
 }
Example #6
0
 GoToSourceCallStackCtxMenuCommand(Lazy <ITheDebugger> theDebugger, Lazy <ICallStackContent> callStackContent, IFileTabManager fileTabManager, Lazy <IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider)
     : base(theDebugger, callStackContent)
 {
     this.fileTabManager   = fileTabManager;
     this.moduleLoader     = moduleLoader;
     this.moduleIdProvider = moduleIdProvider;
 }
Example #7
0
 GoToSourceNewTabBreakpointCtxMenuCommand(Lazy <IBreakpointsContent> breakpointsContent, Lazy <IModuleLoader> moduleLoader, IFileTabManager fileTabManager, IModuleIdProvider moduleIdProvider)
     : base(breakpointsContent)
 {
     this.moduleLoader     = moduleLoader;
     this.fileTabManager   = fileTabManager;
     this.moduleIdProvider = moduleIdProvider;
 }
Example #8
0
 SwitchToThreadNewTabThreadsCtxMenuCommand(Lazy <ITheDebugger> theDebugger, Lazy <IThreadsContent> threadsContent, Lazy <IStackFrameManager> stackFrameManager, IFileTabManager fileTabManager, Lazy <IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider)
     : base(theDebugger, threadsContent)
 {
     this.stackFrameManager = stackFrameManager;
     this.fileTabManager    = fileTabManager;
     this.moduleLoader      = moduleLoader;
     this.moduleIdProvider  = moduleIdProvider;
 }
Example #9
0
 internal static void GoTo(IModuleIdProvider moduleIdProvider, Lazy <IStackFrameManager> stackFrameManager, IFileTabManager fileTabManager, Lazy <IModuleLoader> moduleLoader, ThreadsCtxMenuContext context, bool newTab)
 {
     if (context.SelectedItems.Length == 0)
     {
         return;
     }
     GoTo(moduleIdProvider, fileTabManager, moduleLoader.Value, stackFrameManager.Value, context.SelectedItems[0], newTab);
 }
Example #10
0
		public static bool GoTo(IModuleIdProvider moduleIdProvider, IDocumentTabService documentTabService, IModuleLoader moduleLoader, CorFrame frame, bool newTab) {
			if (GoToIL(moduleIdProvider, documentTabService, moduleLoader, frame, newTab))
				return true;

			//TODO: eg. native frame or internal frame

			return false;
		}
Example #11
0
 SwitchToFrameNewTabCallStackCtxMenuCommand(Lazy <ITheDebugger> theDebugger, Lazy <ICallStackContent> callStackContent, Lazy <IStackFrameManager> stackFrameManager, IFileTabManager fileTabManager, Lazy <IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider)
     : base(theDebugger, callStackContent)
 {
     this.stackFrameManager = stackFrameManager;
     this.fileTabManager    = fileTabManager;
     this.moduleLoader      = moduleLoader;
     this.moduleIdProvider  = moduleIdProvider;
 }
Example #12
0
 internal static void Execute(IModuleIdProvider moduleIdProvider, IStackFrameManager stackFrameManager, IFileTabManager fileTabManager, IModuleLoader moduleLoader, CallStackFrameVM vm, bool newTab)
 {
     if (vm != null)
     {
         stackFrameManager.SelectedFrameNumber = vm.Index;
         FrameUtils.GoTo(moduleIdProvider, fileTabManager, moduleLoader, vm.Frame, newTab);
     }
 }
Example #13
0
 ModuleLoader(Lazy <ITheDebugger> theDebugger, IDebuggerSettings debuggerSettings, IDsDocumentService documentService, Lazy <IInMemoryModuleService> inMemoryModuleService, IModuleIdProvider moduleIdProvider)
 {
     this.theDebugger           = theDebugger;
     this.debuggerSettings      = debuggerSettings;
     this.documentService       = documentService;
     this.inMemoryModuleService = inMemoryModuleService;
     this.moduleIdProvider      = moduleIdProvider;
 }
Example #14
0
 internal static void GoTo(IModuleIdProvider moduleIdProvider, Lazy <IStackFrameService> stackFrameService, IDocumentTabService documentTabService, Lazy <IModuleLoader> moduleLoader, ThreadsCtxMenuContext context, bool newTab)
 {
     if (context.SelectedItems.Length == 0)
     {
         return;
     }
     GoTo(moduleIdProvider, documentTabService, moduleLoader.Value, stackFrameService.Value, context.SelectedItems[0], newTab);
 }
Example #15
0
 SwitchToFrameCallStackCtxMenuCommand(Lazy <ITheDebugger> theDebugger, Lazy <ICallStackContent> callStackContent, Lazy <IStackFrameService> stackFrameService, IDocumentTabService documentTabService, Lazy <IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider)
     : base(theDebugger, callStackContent)
 {
     this.stackFrameService  = stackFrameService;
     this.documentTabService = documentTabService;
     this.moduleLoader       = moduleLoader;
     this.moduleIdProvider   = moduleIdProvider;
 }
Example #16
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);
     }
 }
Example #17
0
 SwitchToThreadNewTabThreadsCtxMenuCommand(Lazy <ITheDebugger> theDebugger, Lazy <IThreadsContent> threadsContent, Lazy <IStackFrameService> stackFrameService, IDocumentTabService documentTabService, Lazy <IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider)
     : base(theDebugger, threadsContent)
 {
     this.stackFrameService  = stackFrameService;
     this.documentTabService = documentTabService;
     this.moduleLoader       = moduleLoader;
     this.moduleIdProvider   = moduleIdProvider;
 }
Example #18
0
 ModuleLoader(Lazy <ITheDebugger> theDebugger, IDebuggerSettings debuggerSettings, IFileManager fileManager, Lazy <IInMemoryModuleManager> inMemoryModuleManager, IModuleIdProvider moduleIdProvider)
 {
     this.theDebugger           = theDebugger;
     this.debuggerSettings      = debuggerSettings;
     this.fileManager           = fileManager;
     this.inMemoryModuleManager = inMemoryModuleManager;
     this.moduleIdProvider      = moduleIdProvider;
 }
Example #19
0
 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);
 }
Example #20
0
 internal static void GoTo(IModuleIdProvider moduleIdProvider, IFileTabManager fileTabManager, IModuleLoader moduleLoader, IStackFrameManager stackFrameManager, ThreadVM vm, bool newTab)
 {
     if (vm == null)
     {
         return;
     }
     stackFrameManager.SelectedThread = vm.Thread;
     FrameUtils.GoTo(moduleIdProvider, fileTabManager, moduleLoader, vm.Thread.AllFrames.FirstOrDefault(f => f.IsILFrame), newTab);
 }
Example #21
0
 GlyphTextMarkerService(IModuleIdProvider moduleIdProvider, IThemeService themeService, IViewTagAggregatorFactoryService viewTagAggregatorFactoryService, IEditorFormatMapService editorFormatMapService, [ImportMany] IEnumerable <Lazy <IGlyphTextMarkerMouseProcessorProvider, IGlyphTextMarkerMouseProcessorProviderMetadata> > glyphTextMarkerMouseProcessorProviders)
 {
     this.moduleIdProvider                  = moduleIdProvider;
     ThemeService                           = themeService;
     ViewTagAggregatorFactoryService        = viewTagAggregatorFactoryService;
     EditorFormatMapService                 = editorFormatMapService;
     glyphTextMarkers                       = new HashSet <IGlyphTextMarkerImpl>();
     GlyphTextMarkerMouseProcessorProviders = Orderer.Order(glyphTextMarkerMouseProcessorProviders).ToArray();
 }
Example #22
0
		public static bool GoToIL(IModuleIdProvider moduleIdProvider, IDocumentTabService documentTabService, IModuleLoader moduleLoader, CorFrame frame, bool newTab) {
			if (!CanGoToIL(frame))
				return false;

			var func = frame.Function;
			if (func == null)
				return false;

			return DebugUtils.GoToIL(moduleIdProvider, documentTabService, moduleLoader.LoadModule(func.Module, canLoadDynFile: true, isAutoLoaded: true), frame.Token, frame.GetILOffset(moduleLoader), newTab);
		}
Example #23
0
		BreakpointsContent(IWpfCommandService wpfCommandService, Lazy<IBreakpointsVM> breakpointsVM, Lazy<IModuleLoader> moduleLoader, IDocumentTabService documentTabService, IModuleIdProvider moduleIdProvider) {
			breakpointsControl = new BreakpointsControl();
			this.moduleLoader = moduleLoader;
			this.documentTabService = documentTabService;
			vmBreakpoints = breakpointsVM;
			this.moduleIdProvider = moduleIdProvider;

			wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_BREAKPOINTS_CONTROL, breakpointsControl);
			wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_BREAKPOINTS_LISTVIEW, breakpointsControl.ListView);
		}
Example #24
0
        BreakpointsContent(IWpfCommandService wpfCommandService, Lazy <IBreakpointsVM> breakpointsVM, Lazy <IModuleLoader> moduleLoader, IDocumentTabService documentTabService, IModuleIdProvider moduleIdProvider)
        {
            breakpointsControl      = new BreakpointsControl();
            this.moduleLoader       = moduleLoader;
            this.documentTabService = documentTabService;
            vmBreakpoints           = breakpointsVM;
            this.moduleIdProvider   = moduleIdProvider;

            wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_BREAKPOINTS_CONTROL, breakpointsControl);
            wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_BREAKPOINTS_LISTVIEW, breakpointsControl.ListView);
        }
Example #25
0
        public static bool GoTo(IModuleIdProvider moduleIdProvider, IFileTabManager fileTabManager, IModuleLoader moduleLoader, CorFrame frame, bool newTab)
        {
            if (GoToIL(moduleIdProvider, fileTabManager, moduleLoader, frame, newTab))
            {
                return(true);
            }

            //TODO: eg. native frame or internal frame

            return(false);
        }
Example #26
0
        public static bool GoTo(IModuleIdProvider moduleIdProvider, IDocumentTabService documentTabService, IModuleLoader moduleLoader, CorFrame frame, bool newTab)
        {
            if (GoToIL(moduleIdProvider, documentTabService, moduleLoader, frame, newTab))
            {
                return(true);
            }

            //TODO: eg. native frame or internal frame

            return(false);
        }
Example #27
0
        BreakpointsContent(IWpfCommandManager wpfCommandManager, Lazy <IBreakpointsVM> breakpointsVM, Lazy <IModuleLoader> moduleLoader, IFileTabManager fileTabManager, IModuleIdProvider moduleIdProvider)
        {
            this.breakpointsControl = new BreakpointsControl();
            this.moduleLoader       = moduleLoader;
            this.fileTabManager     = fileTabManager;
            this.vmBreakpoints      = breakpointsVM;
            this.moduleIdProvider   = moduleIdProvider;

            wpfCommandManager.Add(ControlConstants.GUID_DEBUGGER_BREAKPOINTS_CONTROL, breakpointsControl);
            wpfCommandManager.Add(ControlConstants.GUID_DEBUGGER_BREAKPOINTS_LISTVIEW, breakpointsControl.ListView);
        }
Example #28
0
		CallStackContent(IWpfCommandService wpfCommandService, ICallStackVM callStackVM, Lazy<IStackFrameService> stackFrameService, IDocumentTabService documentTabService, Lazy<IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider) {
			callStackControl = new CallStackControl();
			vmCallStack = callStackVM;
			this.stackFrameService = stackFrameService;
			this.documentTabService = documentTabService;
			this.moduleLoader = moduleLoader;
			this.moduleIdProvider = moduleIdProvider;
			callStackControl.DataContext = vmCallStack;
			callStackControl.CallStackListViewDoubleClick += CallStackControl_CallStackListViewDoubleClick;

			wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_CALLSTACK_CONTROL, callStackControl);
			wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_CALLSTACK_LISTVIEW, callStackControl.ListView);
		}
Example #29
0
		ThreadsContent(IWpfCommandService wpfCommandService, IThreadsVM threadsVM, Lazy<IStackFrameService> stackFrameService, IDocumentTabService documentTabService, Lazy<IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider) {
			this.stackFrameService = stackFrameService;
			this.documentTabService = documentTabService;
			this.moduleLoader = moduleLoader;
			threadsControl = new ThreadsControl();
			vmThreads = threadsVM;
			this.moduleIdProvider = moduleIdProvider;
			threadsControl.DataContext = vmThreads;
			threadsControl.ThreadsListViewDoubleClick += ThreadsControl_ThreadsListViewDoubleClick;

			wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_THREADS_CONTROL, threadsControl);
			wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_THREADS_LISTVIEW, threadsControl.ListView);
		}
Example #30
0
        CallStackContent(IWpfCommandService wpfCommandService, ICallStackVM callStackVM, Lazy <IStackFrameService> stackFrameService, IDocumentTabService documentTabService, Lazy <IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider)
        {
            this.callStackControl             = new CallStackControl();
            this.vmCallStack                  = callStackVM;
            this.stackFrameService            = stackFrameService;
            this.documentTabService           = documentTabService;
            this.moduleLoader                 = moduleLoader;
            this.moduleIdProvider             = moduleIdProvider;
            this.callStackControl.DataContext = this.vmCallStack;
            this.callStackControl.CallStackListViewDoubleClick += CallStackControl_CallStackListViewDoubleClick;

            wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_CALLSTACK_CONTROL, callStackControl);
            wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_CALLSTACK_LISTVIEW, callStackControl.ListView);
        }
Example #31
0
        internal static void GoTo(IModuleIdProvider moduleIdProvider, IFileTabManager fileTabManager, Lazy <IModuleLoader> moduleLoader, BreakpointVM vm, bool newTab)
        {
            if (vm == null)
            {
                return;
            }
            var ilbp = vm.Breakpoint as ILCodeBreakpoint;

            if (ilbp == null)
            {
                return;
            }
            DebugUtils.GoToIL(moduleIdProvider, fileTabManager, moduleLoader.Value, ilbp.MethodToken.Module, ilbp.MethodToken.Token, ilbp.ILOffset, newTab);
        }
Example #32
0
        ThreadsContent(IWpfCommandService wpfCommandService, IThreadsVM threadsVM, Lazy <IStackFrameService> stackFrameService, IDocumentTabService documentTabService, Lazy <IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider)
        {
            this.stackFrameService  = stackFrameService;
            this.documentTabService = documentTabService;
            this.moduleLoader       = moduleLoader;
            threadsControl          = new ThreadsControl();
            vmThreads                  = threadsVM;
            this.moduleIdProvider      = moduleIdProvider;
            threadsControl.DataContext = vmThreads;
            threadsControl.ThreadsListViewDoubleClick += ThreadsControl_ThreadsListViewDoubleClick;

            wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_THREADS_CONTROL, threadsControl);
            wpfCommandService.Add(ControlConstants.GUID_DEBUGGER_THREADS_LISTVIEW, threadsControl.ListView);
        }
            // This is supposed to take us to the whatever string we are inspecting into the respective assembly.
            internal static void GoTo(IModuleIdProvider moduleIdProvider, IDocumentTabService documentTabService, ToolWindowVm.StringAnalyzerData items, bool newTab)
            {
                if (items == null)
                {
                    return;
                }
                var ilbp = items as ToolWindowVm.StringAnalyzerData;

                if (ilbp == null)
                {
                    return;
                }
                ContextUtils.GoToIL(moduleIdProvider, documentTabService, ilbp.ModuleID, uint.Parse(ilbp.MdToken), uint.Parse(ilbp.IlOffset), newTab);
            }
Example #34
0
        ThreadsContent(IWpfCommandManager wpfCommandManager, IThreadsVM threadsVM, IThemeManager themeManager, Lazy <IStackFrameManager> stackFrameManager, IFileTabManager fileTabManager, Lazy <IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider)
        {
            this.stackFrameManager          = stackFrameManager;
            this.fileTabManager             = fileTabManager;
            this.moduleLoader               = moduleLoader;
            this.threadsControl             = new ThreadsControl();
            this.vmThreads                  = threadsVM;
            this.moduleIdProvider           = moduleIdProvider;
            this.threadsControl.DataContext = this.vmThreads;
            this.threadsControl.ThreadsListViewDoubleClick += ThreadsControl_ThreadsListViewDoubleClick;
            themeManager.ThemeChanged += ThemeManager_ThemeChanged;

            wpfCommandManager.Add(CommandConstants.GUID_DEBUGGER_THREADS_CONTROL, threadsControl);
            wpfCommandManager.Add(CommandConstants.GUID_DEBUGGER_THREADS_LISTVIEW, threadsControl.ListView);
        }
Example #35
0
        BreakpointManager(IFileTabManager fileTabManager, ITheDebugger theDebugger, IMessageBoxManager messageBoxManager, IModuleIdProvider moduleIdProvider, [ImportMany] IEnumerable <Lazy <IBreakpointListener> > breakpointListeners)
        {
            this.fileTabManager      = fileTabManager;
            this.theDebugger         = theDebugger;
            this.messageBoxManager   = messageBoxManager;
            this.moduleIdProvider    = moduleIdProvider;
            this.breakpointListeners = breakpointListeners.ToArray();

            fileTabManager.FileCollectionChanged += FileTabManager_FileCollectionChanged;
            theDebugger.OnProcessStateChanged    += TheDebugger_OnProcessStateChanged;
            if (theDebugger.IsDebugging)
            {
                AddDebuggerBreakpoints();
            }
        }
Example #36
0
        CallStackContent(IWpfCommandManager wpfCommandManager, IThemeManager themeManager, ICallStackVM callStackVM, Lazy <IStackFrameManager> stackFrameManager, IFileTabManager fileTabManager, Lazy <IModuleLoader> moduleLoader, IModuleIdProvider moduleIdProvider)
        {
            this.callStackControl             = new CallStackControl();
            this.vmCallStack                  = callStackVM;
            this.stackFrameManager            = stackFrameManager;
            this.fileTabManager               = fileTabManager;
            this.moduleLoader                 = moduleLoader;
            this.moduleIdProvider             = moduleIdProvider;
            this.callStackControl.DataContext = this.vmCallStack;
            this.callStackControl.CallStackListViewDoubleClick += CallStackControl_CallStackListViewDoubleClick;
            themeManager.ThemeChanged += ThemeManager_ThemeChanged;

            wpfCommandManager.Add(ControlConstants.GUID_DEBUGGER_CALLSTACK_CONTROL, callStackControl);
            wpfCommandManager.Add(ControlConstants.GUID_DEBUGGER_CALLSTACK_LISTVIEW, callStackControl.ListView);
        }
Example #37
0
        BreakpointService(IDocumentTabService documentTabService, ITheDebugger theDebugger, IMessageBoxService messageBoxService, IModuleIdProvider moduleIdProvider, [ImportMany] IEnumerable <Lazy <IBreakpointListener> > breakpointListeners)
        {
            this.documentTabService  = documentTabService;
            this.theDebugger         = theDebugger;
            this.messageBoxService   = messageBoxService;
            this.moduleIdProvider    = moduleIdProvider;
            this.breakpointListeners = breakpointListeners.ToArray();

            documentTabService.DocumentCollectionChanged += DocumentTabService_FileCollectionChanged;
            theDebugger.OnProcessStateChanged            += TheDebugger_OnProcessStateChanged;
            if (theDebugger.IsDebugging)
            {
                AddDebuggerBreakpoints();
            }
        }
Example #38
0
		public static void GoToIL(IModuleIdProvider moduleIdProvider, IDocumentTabService documentTabService, IModuleLoader moduleLoader, ModuleId moduleId, uint token, uint ilOffset, bool newTab) {
			var file = moduleLoader.LoadModule(moduleId, canLoadDynFile: true, diskFileOk: false, isAutoLoaded: true);
			GoToIL(moduleIdProvider, documentTabService, file, token, ilOffset, newTab);
		}
		GlyphTextMarkerServiceDocumentViewerListener(IGlyphTextMarkerService glyphTextMarkerService, IModuleIdProvider moduleIdProvider) {
			this.glyphTextMarkerService = glyphTextMarkerService;
			this.moduleIdProvider = moduleIdProvider;
		}
Example #40
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;
		}
Example #41
0
		BreakpointService(IDocumentTabService documentTabService, ITheDebugger theDebugger, IMessageBoxService messageBoxService, IModuleIdProvider moduleIdProvider, [ImportMany] IEnumerable<Lazy<IBreakpointListener>> breakpointListeners) {
			this.documentTabService = documentTabService;
			this.theDebugger = theDebugger;
			this.messageBoxService = messageBoxService;
			this.moduleIdProvider = moduleIdProvider;
			this.breakpointListeners = breakpointListeners.ToArray();

			documentTabService.DocumentCollectionChanged += DocumentTabService_FileCollectionChanged;
			theDebugger.OnProcessStateChanged += TheDebugger_OnProcessStateChanged;
			if (theDebugger.IsDebugging)
				AddDebuggerBreakpoints();
		}