2012-04-17 7 views
5

voglio usare ILspy il debug una DLL, come pic:come usare ILspy debug a dll?

enter image description here

ma solo può mostrare due processi:

enter image description here

ma in VS2010, posso collegare più processi: enter image description here

come mostrare w3wp.exe in ILspy? chi può aiutarmi?

+0

Qualsiasi fortuna associata a w3wp? E il debugging? – Konstantin

+2

Che versione è questa? Non vedo il menu di debug in 2.4.0.1963 –

risposta

3

Dal codice sorgente 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. 
      } 
     } 

sembra relativamente semplice ...

Si tratta di software di anteprima, quindi forse c'è un difetto in questo algoritmo per determinare se un processo utilizza il codice gestito.

Potreste essere in grado di spostare passare questo problema semplicemente scaricando il codice sorgente e la modifica

bool managed = false;

a

bool managed = true;

e ricompilando.

Non ho la versione completa di IIS7 installata, quindi non posso tentare di ricreare il problema, ma dubito che avrei comunque lo stesso problema perché il mio server di sviluppo di Visual Studio si presenta bene in ILSpy mentre il tuo fa non. Forse c'è qualcosa di diverso nel tuo ambiente che mette in disordine l'algoritmo di cui sopra.

3

a 32-bit vs 64 bit potrebbe anche svolgere un qualche ruolo

5

Esecuzione ILSpy come amministratore risolto questo problema per me.

Problemi correlati