2014-07-22 3 views
2

저는 서로 통신하는 두 개의 프로세스를 디버깅하는 동안 끝없는 키 입력과 마우스 클릭을 저장하려고합니다.System.Diagnostics.Process에 디버거를 연결하는 방법?

질문 : 내가 만든 외부 System.Diagnostics.Process 인스턴스가 주어지면 어떻게 프로그래밍 방식으로 (즉, 외부에서) 디버거를 연결할 수 있습니까?

System.Diagnostics.Debugger 클래스를 살펴 봤지만 디버거를 외부 프로세스가 아닌 현재 실행중인 프로세스에만 연결하는 메서드가있는 것으로 보입니다.

도움 주셔서 감사합니다.

+1

http://msdn.microsoft.com/en-us/library/envdte.process.attach.aspx –

+1

http://stackoverflow.com/a/5514248/17034 –

답변

1

두 번째 프로세스에서 코드를 편집 할 수있는 경우 Debugger.Launch();을 호출하십시오.

그러나 할 수없는 경우 :
10 Excecuting하는 파일이 관리되는 어셈블리라고 가정하면 먼저 첨부 할 것인지 묻는 래퍼 어셈블리를 만든 다음 실제 exe를 시작합니다.

using System; 
using System.Diagnostics; 

class Program 
{ 
    static void Main(string[] args) 
    { 
     Debugger.Launch(); 
     AppDomain.CurrentDomain.ExecuteAssembly(@"C:\\path\to\file.exe"); 
    } 

} 
관련 문제