2009-06-12 4 views

답변

22

attach to a running processTools | Attach to Process을 사용하면됩니다. 웹 응용 프로그램 인 경우 aspnet_wp.exe 또는 w3wp.exe에 첨부하여 첨부 할 수 있습니다.

3

Visual Studio에서 도구 | 프로세스에 첨부하십시오. 그런 다음 적절한 서비스를 선택하십시오.

2

소금의 가치가있는 거의 모든 디버거에서이 작업을 수행 할 수 있습니다.

Visual Studio에는 사용자의 요구에 맞는 것이 있습니다.

좀 더 고급 제어가 필요하면 어셈블리 레벨에서 실제로 프로그램을 조작 할 수 있도록 역 어셈블러 인 OllyDbg을 시도하십시오. 이렇게하면 완벽하게 제어 할 수 있지만 정보 과부하 일 수 있습니다.

+0

가 WinDbg를 사용한다. SOS가있는 WinDbg는 .NET 용 OllyDbg보다 우수합니다. OllyDbg에는 더 많은 "분석"기능이 있지만 여기서 WinDbg가 더 적합합니다 - OP는 자신의 프로세스를 디버그하고 싶을뿐입니다 – kizzx2

1

Visual Studio 2015에서 메뉴의 '디버그> 처리 할 첨부'를 클릭하십시오. 또는 바로 가기 키 Ctrl + Alt + P가 있습니다.

0

코드에서이를 수행 할 수 있습니다.

public static void Attach(DTE2 dte) 
     { 
      var processes = dte.Debugger.LocalProcesses; 
      foreach (var proc in processes.Cast<EnvDTE.Process>().Where(proc => proc.Name.IndexOf("YourProcess.exe") != -1)) 
       proc.Attach(); 
     } 

     internal static DTE2 GetCurrent() 
     { 
      var dte2 = (DTE2)Marshal.GetActiveObject("VisualStudio.DTE.12.0"); // For VisualStudio 2013 

      return dte2; 
     } 

사용법 :

Attach(GetCurrent()); 
관련 문제