아마 윈도우 서비스(Windows Service)로 프로그램을 개발하다가 디버깅 하기위해서는 아래와 같이 비주얼 스튜디오에서 지원하는 프로세스 연결 기능을 통해서 디버깅을 해왔을 것이다.
도구 -> 프로세스에 연결 메뉴를 클릭하면 아래와 같은 프로세스 리스트 화면이 나타난다.
여기에서 실행중인 윈도우 서비스 파일을 찾아 하단에 위치한 연결 버튼을 눌러 디버깅을 할 수 있다.
그러나, 이 방법을 사용하기 위해서는 디버깅하려는 프로그램이 윈도우 서비스로 정상적으로 실행중이여야 한다.
만일, 오류때문에 서비스로 시작조차 불가능 하다면 위의 디버깅 방법을 사용 할 수 없다는 뜻이다.
이럴 경우에는 다른 방법으로 윈도우 서비스를 디버깅 할 수 있다.
윈도우 서비스 시작 지점에 아래와 같이 디버깅 시작 코드를 삽입니다.
이렇게 코드를 삽입하고 윈도우 서비스를 시작하게 되면 아래의 화면처럼 디버그 시작 화면이 표시되게 된다.
위 화면에서 '사용 가능한 디버거' 항목 중 현재 실행중인 비주얼 스튜디오를 선택하게 되면 서비스 시작 단계에서 부터 디버그를 할 수 있다.
예전에 이 방법을 몰라 시스템 이벤트 뷰어에 기록하거나 윈도우 어플리케이션으로 전환해서 디버깅 했던것을 생각하면 그저 시간이 아까울 따름이다... ^^;;
출처 : http://weblogs.asp.net/paulballard/archive/2005/07/12/419175.aspx