2012-04-17 12 views
5

chcę używać ILspy debugować dll, jak pic:jak korzystać z ILspy debugowania biblioteki dll?

enter image description here

ale to tylko może wykazywać dwa proces:

enter image description here

ale w VS2010, mogę dołączyć więcej procesu: enter image description here

jak wyświetlić w3wp.exe w ILspy? kto może mi pomóc?

+0

Jakieś szczęście związane z w3wp? I debugowanie? – Konstantin

+2

Jaka to wersja? Nie widzę menu debugowania w 2.4.0.1963 –

Odpowiedz

3

z kodu źródłowego ILSpy (ICSharpCode.ILSpy.Debugger.UI.AttachToProcessWindow):

Process currentProcess = Process.GetCurrentProcess(); 
     foreach (Process process in Process.GetProcesses()) { 
      try { 
       if (process.HasExited) continue; 
       // Prevent attaching to our own process. 
       if (currentProcess.Id != process.Id) { 
        bool managed = false; 
        try { 
         var modules = process.Modules.Cast<ProcessModule>().Where(
          m => m.ModuleName.StartsWith("mscor", StringComparison.OrdinalIgnoreCase)); 

         managed = modules.Count() > 0; 
        } catch { } 

        if (managed) { 
         list.Add(new RunningProcess { 
            ProcessId = process.Id, 
            ProcessName = Path.GetFileName(process.MainModule.FileName), 
            FileName = process.MainModule.FileName, 
            WindowTitle = process.MainWindowTitle, 
            Managed = "Managed", 
            Process = process 
           }); 
        } 
       } 
      } catch (Win32Exception) { 
       // Do nothing. 
      } 
     } 

wydaje się stosunkowo prosta ...

To jest podgląd oprogramowanie, więc być może jest to wada w tym algorytmie do określania, czy proces używa kodu zarządzanego.

Możesz być w stanie poruszać się przekazać tę kwestię tylko poprzez pobranie kodu źródłowego i zmieniając

bool managed = false;

do

bool managed = true;

i rekompilacji.

Nie mam zainstalowanej pełnej wersji IIS7, więc nie mogę spróbować odtworzyć twojego problemu, ale wątpię, czy i tak miałbym ten sam problem, ponieważ mój serwer do tworzenia wizualnych programów graficznych pokazuje się dobrze w ILSpy, podczas gdy twój robi nie. Być może jest coś innego w twoim środowisku, które miesza się z powyższym algorytmem.

3

32-bit vs 64-bitowy może również odgrywać pewną rolę

5

Running ILSpy jako administrator rozwiązać ten problem dla mnie.