Пример #1
0
 protected override void HandleData(ClrDump data)
 {
     UIModuleFactory.CreateModule <BookmarkModule>(
         mod => { mod.UIModuleParent = selectedModule; mod.SetUp(data); },
         mod => DockModule(mod)
         );
 }
Пример #2
0
 protected override void HandleData(List <ClrDump> clrDumps)
 {
     if (clrDumps == null || clrDumps.Count < 2)
     {
         throw new InvalidOperationException("Please, select two or more dumps in the workplace module !");
     }
     UIModuleFactory.CreateModule <DumpDiffModule>(module => module.Setup(clrDumps), module => DockModule(module));
 }
Пример #3
0
 protected override void HandleData(ClrDumpObject clrDumpObject)
 {
     if (clrDumpObject == null)
     {
         throw new InvalidOperationException("No object selected !");
     }
     UIModuleFactory.CreateModule <RootPathModule>(module => { module.UIModuleParent = selectedModule; module.Setup(clrDumpObject); }, module => DockModule(module));
 }
Пример #4
0
 protected override void HandleData(AddressList addressList)
 {
     if (addressList == null)
     {
         throw new InvalidOperationException("No instances selected !");
     }
     UIModuleFactory.CreateModule <ReferersModule>(module => { module.UIModuleParent = selectedModule; module.Setup(addressList); }, module => DockModule(module));
 }
Пример #5
0
        public static void Display(ArraysAddressList arrayAddressList, UIModule parentModule)
        {
            if (arrayAddressList == null)
            {
                throw new InvalidOperationException("No array selected !");
            }

            UIModuleFactory.CreateModule <ArrayInstancesModule>(module => { module.UIModuleParent = parentModule; module.Setup(arrayAddressList); }, module => parentModule.RequestDockModule(module));
        }
Пример #6
0
        protected override void HandleData(ClrDump data)
        {
            if (data == null)
            {
                throw new InvalidOperationException("Can't show inspector module, no dump selected !");
            }

            UIModuleFactory.CreateModule <InspectorModule>(
                mod => { mod.UIModuleParent = selectedModule; mod.Setup(data); },
                mod => DockModule(mod, DockState.DockRight)
                );
        }
Пример #7
0
        protected override void HandleData(ClrDumpType data)
        {
            if (data == null)
            {
                throw new InvalidOperationException("No type selected !");
            }

            UIModuleFactory.CreateModule <TypeDetailsModule>(
                mod => { mod.UIModuleParent = selectedModule; mod.Setup(data); },
                mod => DockModule(mod)
                );
        }
 public static void Create(ClrDumpType clrDumpType, UIModule parent, Action <InstancesModule> postInit)
 {
     if (clrDumpType == null)
     {
         MessageBox.Show("No type selected !", "Error", MessageBoxButtons.OK);
         return;
     }
     UIModuleFactory.CreateModule <TypeInstancesModule>(
         mod => { mod.UIModuleParent = parent; mod.Setup(clrDumpType); },
         mod => postInit(mod)
         );
 }
Пример #9
0
        protected override void HandleData(ClrDumpThread clrDumpThread)
        {
            if (clrDumpThread == null)
            {
                throw new InvalidOperationException("No thread selected !");
            }

            UIModuleFactory.CreateModule <StackModule>(module => {
                module.UIModuleParent = selectedModule;
                module.Setup(clrDumpThread.ClrDump, clrDumpThread.ClrThread);
                module.Init();
            }, module => DockModule(module));
        }
Пример #10
0
 public static void Display(UIModule parentModule, ClrDumpObject data)
 {
     if (data.ClrType.IsArray)
     {
         var    elementsAddresses = new ArrayElementsAddressContainer(data);
         var    addresses         = new AddressList(data.ClrDump, data.ClrType.ComponentType, elementsAddresses);
         string name = $"{data.ClrDump.Id} - Elements: {data.Address:X} [{data.ClrType.ComponentType.Name}]";
         InstancesModule.Create(addresses, parentModule, mod => DockModule(parentModule.MessageBus, mod), name);
     }
     else
     {
         UIModuleFactory.CreateModule <InstanceDetailsModule>(
             mod => { mod.UIModuleParent = parentModule; mod.Setup(data); },
             mod => DockModule(parentModule.MessageBus, mod, DockState.DockRight)
             );
     }
 }
Пример #11
0
 public static void Create(ClrDump clrDump, IAddressContainer addresses, UIModule parent, Action <InstancesMixedModule> postInit, string name = null)
 {
     if (addresses == null)
     {
         MessageBox.Show("No instances selected !", "Error", MessageBoxButtons.OK);
         return;
     }
     UIModuleFactory.CreateModule <InstancesMixedModule>(
         mod => {
         mod.UIModuleParent = parent; mod.Setup(clrDump, addresses);
         if (name != null)
         {
             mod.Name = name;
         }
     },
         mod => postInit(mod)
         );
 }
Пример #12
0
        private void MemoScopeForm_DragDrop(object sender, DragEventArgs e)
        {
            string[] files             = (string[])e.Data.GetData(DataFormats.FileDrop);
            var      fileInfos         = files.Select(f => new FileInfo(f));
            var      filteredFileInfos = fileInfos.Where(
                fi => fi.Extension.Equals(".dmp", System.StringComparison.InvariantCultureIgnoreCase)
                );

            if (filteredFileInfos.Any())
            {
                msgBus.SendMessage(new OpenDumpRequest(filteredFileInfos));
                var directory = filteredFileInfos.First().DirectoryName;
                UIModuleFactory.CreateModule <ExplorerModule>(module => module.SetUp(directory), module => DockModule(module, DockState.DockLeft));
            }
            else
            {
                MessageBox.Show("Dropped files must have a .dmp extension !");
            }
        }
        protected override void HandleData(ClrDumpThread clrDumpThread)
        {
            if (clrDumpThread == null)
            {
                throw new InvalidOperationException("No thread selected !");
            }

            var ex = clrDumpThread.ClrDump.Eval(() => clrDumpThread.ClrThread.CurrentException);

            if (ex == null)
            {
                throw new InvalidOperationException("No exception for this thread !");
            }

            UIModuleFactory.CreateModule <ThreadExceptionModule>(module => {
                module.UIModuleParent = selectedModule;
                module.Setup(clrDumpThread.ClrDump, clrDumpThread.ClrThread);
                module.Init();
            }, module => DockModule(module));
        }
Пример #14
0
 public override void Run()
 {
     UIModuleFactory.CreateModule <ExplorerModule>(module => { }, module => DockModule(module, DockState.DockLeft));
 }
Пример #15
0
        public void HandleMessage(ClrDumpLoadedMessage message)
        {
            var dump = message.ClrDump;

            UIModuleFactory.CreateModule <TypeStatModule>(tsm => tsm.Setup(dump), tsm => DockModule(tsm));
        }
Пример #16
0
 public static void Display(UIModule parentModule, ClrDumpObject clrDumpObject)
 {
     UIModuleFactory.CreateModule <DelegateTargetsModule>(module => { module.UIModuleParent = parentModule; module.Setup(clrDumpObject); }, module => DockModule(parentModule.MessageBus, module));
 }
Пример #17
0
 public static void Display(UIModule parentModule, ClrDumpType clrDumpType)
 {
     UIModuleFactory.CreateModule <DelegateInstancesModule>(module => { module.UIModuleParent = parentModule; module.Setup(clrDumpType); }, module => DockModule(parentModule.MessageBus, module));
 }
Пример #18
0
 public override void Run()
 {
     UIModuleFactory.CreateModule <AboutModule>(tsm => { }, tsm => DockModule(tsm));
 }
Пример #19
0
 public override void Run()
 {
     UIModuleFactory.CreateModule <ProcessModule>(module => { }, module => DockModule(module));
 }
 public static void Display(UIModule parentModule, ClrDump clrDump) => UIModuleFactory.CreateModule <LoneTargetsModule>(module => { module.UIModuleParent = parentModule; module.Setup(clrDump); }, module => DockModule(parentModule.MessageBus, module));
Пример #21
0
 protected override void HandleData(ClrDump clrDump)
 {
     UIModuleFactory.CreateModule <SegmentsModule>(module => { module.UIModuleParent = selectedModule; module.Setup(clrDump); }, module => DockModule(module));
 }
 protected override void HandleData(ClrDump clrDump) => UIModuleFactory.CreateModule <DisposableTypesModule>(module => { module.UIModuleParent = selectedModule; module.Setup(clrDump); }, module => DockModule(module));