Ejemplo n.º 1
0
 protected virtual void OnSymbolsLoaded(ModuleEventArgs e)
 {
     if (SymbolsLoaded != null)
     {
         SymbolsLoaded(this, e);
     }
 }
Ejemplo n.º 2
0
		void debuggedProcess_ModulesAdded(object sender, ModuleEventArgs e)
		{
			var currentModuleTypes = e.Module.GetNamesOfDefinedTypes();
			foreach (var bookmark in DebuggerService.Breakpoints.OfType<DecompiledBreakpointBookmark>()) {
				var breakpoint = debugger.Breakpoints.FirstOrDefault(
					b => b is ILBreakpoint && b.Line == bookmark.LineNumber &&
					((ILBreakpoint)b).MetadataToken == bookmark.MemberReference.MetadataToken.ToInt32());
				if (breakpoint == null)
					continue;
				// set the breakpoint only if the module contains the type
				if (!currentModuleTypes.Contains(breakpoint.TypeName))
					continue;
				
				breakpoint.SetBreakpoint(e.Module);
			}
		}
Ejemplo n.º 3
0
 void ModuleLoaded(object sender, ModuleEventArgs ev)
 {
     try
     {
         Module module = ev.Module;
         Console.Error.WriteLine("ModuleLoaded:" + module.FullPath + "|");
         /*List<DebugType> types = module.GetDefinedTypes();
         Console.Error.WriteLine("ModuleLoaded:" + types.Count);
         for (int t = 0; t < types.Count; t++)
         {
             try
             {
                 DebugType type = types[t];
                 //Console.Error.WriteLine(type + " " + type.FullName);
                 typeMap.Add(type.FullName, type);
             }
             catch (ArgumentException)
             {
                 //TODO add support for duplicate values
             }
         }*/
     }
     catch (System.Exception ex)
     {
         Console.Error.WriteLine(ex);
     }
 }
Ejemplo n.º 4
0
		void ModuleLoaded(object sender, ModuleEventArgs e)
		{
			DebuggerModuleModel model = new DebuggerModuleModel(e.Module);
			moduleModels.Add(model);
			Assemblies.Add(model.AssemblyModel);
		}
Ejemplo n.º 5
0
		void ModuleUnloaded(object sender, ModuleEventArgs e)
		{
			DebuggerModuleModel deletedModel = moduleModels.FirstOrDefault(mm => mm.Module == e.Module);
			if (deletedModel != null) {
				moduleModels.Remove(deletedModel);
				Assemblies.Remove(deletedModel.AssemblyModel);
			}
		}
Ejemplo n.º 6
0
		void process_Modules_Added(object sender, ModuleEventArgs e)
		{
			if (ProjectService.OpenSolution == null)
				return;
			
			ProjectService.OpenSolution.Projects
				.Where(p => e.Module.Name.IndexOf(p.Name) >= 0)
				.ForEach(p => e.Module.LoadSymbolsFromDisk(new []{ Path.GetDirectoryName(p.OutputAssemblyFullPath) }));
		}
Ejemplo n.º 7
0
		void debuggedProcess_ModuleUnloaded(object sender, ModuleEventArgs e)
		{
			RemoveModule(e.Module);
		}
Ejemplo n.º 8
0
		void debuggedProcess_ModuleLoaded(object sender, ModuleEventArgs e)
		{
			AddModule(e.Module);
		}
Ejemplo n.º 9
0
		protected virtual void OnSymbolsLoaded(ModuleEventArgs e)
		{
			if (SymbolsLoaded != null) {
				SymbolsLoaded(this, e);
			}
		}
Ejemplo n.º 10
0
 void debuggedProcess_ModulesAdded(object sender, ModuleEventArgs e)
 {
     foreach (var bp in debugger.Breakpoints) {
         var breakpoint = bp as ILBreakpoint;
         if (breakpoint != null && breakpoint.MethodKey.IsSameModule(e.Module.FullPath))
             breakpoint.SetBreakpoint(e.Module);
     }
 }