가끔 개발을 하다보면 특정 PC에서만 나타나는 증상이 발견되고는 하는데..
그 때 마다 그 피시에 소스 옮기고 컴파일러 깔고 해서 디버깅 하기란 만만치 않은 작업이다.
이럴 때 유용하게 사용할 수 있는 것이 바로 Remote Debugger라는 녀석이다.
지금부터 간단히 Remote Debugger 사용법에 대해서 설명한다.
Remote Debugger란 사용자의 피시에 Remote Client와 디버깅할 Application만을 설치 해 놓은 상태에서
개발자가 자신의 피시의 개발 환경에서 바로 디버깅 할수있는 방법이다.
개발자 PC와 사용자 PC로 구분지어 설명하면,
(본 설명은 Visual Studio 2008 기준이며, VS2005나 2003의 경우도 동일하다.)
1. 사용자 PC에 Remote Debugger Client 의 설치
VS2008 설치 폴더에서(c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\)
Remote Debuuger 폴더에 가면 x86폴더가 있다.
물론, 사용자 PC에 맞는 버전을 선택하면 되지만 대부분의 경우 x86이므로 x86폴더를 선택한다.
그 이하 모든 파일을 복사해서 사용자 PC의 임의의 폴더에 복사를 해 둔다.
2.개발자 PC와 사용자 PC의 접속 방식에 대해서...
접속 방식은 크게 2가지로 나뉠수 있다.
1) Windows Authentication을 이용한 방식.
- 사용자의 PC에 개발자 PC의 로그인 계정을 하나 만들어 놓고 Microsoft Conectivity로 접속하는 방식이다.
(계정을 만들어 주어야 하는 불편함은 있지만, 보안성은 확보가 된다. 하지만, 조금 느리다는 단점이 있음)
2) No Authentication (Nave Only) 방식.
- TCP/IP의 포트를 이용해 직접 접속하는 방식. (TCP 153 Port를 사용)
- 속도가 빠르고 별도의 설정이 없어 편하지만, 로컬 서브넷이 아닌 원격 접속의 경우 보안상의 위험이 존재.
3. 사용자 PC에서 클라이언트의 실행
1) 위의 복사 된 폴더에서 msvsmon.exe 를 실행 시킨다.
실행시 아래와 같은 Confirm Dialog가 나오는 데 이 때 그냥 "예"를 클릭.
< 실행 중인 Remote Debugger Client의 모습>
2) Menu-> Tools-> Option을 클릭
<No Authentication(native only), Allow any user to debug를 선택 해 준다.>
3) Debugging하려고 하는 Application과 관련 DLL 및 파일들을 특정 폴더에 복사해 둔다.
(경로 및 파일명을 "d:\remote\bin\maxianmgr.exe"라고 하자)
이것으로 Client 준비는 끝.
* 설명은 위의 두가지 접속 방식 중 No Authentication을 이용한 것으로 한다.
Windows Authentication 또한 계정을 만들고 계정으로 접속하는 것만 다르고 나머진 동일하다.
4. 개발자 PC의 준비 및 Debugging.
1) VS2008 IDE의 menu->Project->Properties를 클릭
- Debugging 항목의 Debugger to launch 항목을 Remote Windows Debugger로 바꾼다.
- Remote Command는 사용자 PC에서 Debug하려는 Application의 설치 경로를 입력한다. (여기서는 d:\remote\bin\MaxianMgr.exe가 되겠다.
- Remote Server Name : 사용자 피시의 UNC 이름. (\\를 붙이지 않고 그냥 이름만)
- Connection : Remote with no authentication (Native Only)를 선택
- 확인 버튼 클릭.
- 그 다음 부터는 평소 하던데로 그냥 F5 눌러서 Debugging을 하면 됨.
이상 입니다.
즐프하시길……
<출처 : 본인 경험 직접 서술…. >
'Programming' 카테고리의 다른 글
VS2008 에서 Smart Device 프로젝트 생성이 안되는 경우 -IE8 설치후 발생 (0) | 2009.04.09 |
---|---|
MS 소스 공유 라이선스 (0) | 2008.11.19 |
Visual C++ 2008 Feature Pack Sample 살펴보기 – 퍼옴. (0) | 2008.10.08 |
Drupal vs Joomla (41) | 2008.09.02 |
How to choose an open-source CMS -zdnet (0) | 2008.09.01 |