양방향 트러스트가 없는 Remote Debugging...
2006/06/08 09:49
VMware를 이용하여 리모트 디버깅을 시도...
회사에서는 도메인에 로그인 하기 때문에 VMware를 이용하여 리모트 디버깅을 하는데...
전~혀...문제가 없었지만...
도메인 로그인을 하지않는, 즉, <양방향 트러스트>[footnote]트러스트는 도메인 간에 설정되는 관계로 특정 도메인의 사용자를 다른 도메인의 도메인 컨트롤러가 인증[/footnote]가 없는 일반 환경에서...
리모트 디버깅을 하려고 프로세스에 연결을 시도 했더니...
도메인에 연결은 되는데 무슨일인지 권한이 없다는 메세지...
+ Visual Studio.NET
이곳에 에서 확인한대로 설정을 해보아도...안된다.
문제는 바로 계정...
양쪽 계정이 같아야 하고 거기다 또 비밀번호가 없으면 안된단다.
그래서 Administrator 계정을 만들려고 보니까?
이 계정이 이미 존재한다네?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList 에 Administrator라는 키를 REG_DWORD로 만들고 1로 설정했더니 사용자 계정에서 보인다...(빌어먹을...)
혹 Windows XP pro를 설치했는데 Administrator 계정으로 로그인이 안된다면 이 registry를 설정해 보기를...
아무튼 그렇게 둘다 계정을 Administrator로 주고 비밀번호를 같게 설정했더니 된다.
노파심에서 당연 대상 컴퓨터에는 msvsmon.exe 이라는 리모트디버깅 서버를 실행해야 하는 사실에 VC++6, 2003, 2005에 맞는 버전이 있으므로 주의할것...(대부분 비주얼 스튜디오가 설치된 디렉토리에 있으므로 정확한 경로명을 모르면 파일찾기로 찾아도 된다.)
이곳에 에서 확인한대로 설정을 해보아도...안된다.
문제는 바로 계정...
양쪽 계정이 같아야 하고 거기다 또 비밀번호가 없으면 안된단다.
그래서 Administrator 계정을 만들려고 보니까?
이 계정이 이미 존재한다네?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList 에 Administrator라는 키를 REG_DWORD로 만들고 1로 설정했더니 사용자 계정에서 보인다...(빌어먹을...)
혹 Windows XP pro를 설치했는데 Administrator 계정으로 로그인이 안된다면 이 registry를 설정해 보기를...
아무튼 그렇게 둘다 계정을 Administrator로 주고 비밀번호를 같게 설정했더니 된다.
노파심에서 당연 대상 컴퓨터에는 msvsmon.exe 이라는 리모트디버깅 서버를 실행해야 하는 사실에 VC++6, 2003, 2005에 맞는 버전이 있으므로 주의할것...(대부분 비주얼 스튜디오가 설치된 디렉토리에 있으므로 정확한 경로명을 모르면 파일찾기로 찾아도 된다.)
+ WinDBG
이렇게 설정을 하면 WinDBG로도 디버깅이 가능한데, 비주얼스튜디어가 깔려있지 않은곳, 즉 현장에서 디버깅시 유용하겠다.
단 VMware 또는 대상 컴퓨터에 WinDBG.exe, dbgeng.dll, dbghelp.dll 만 같은 디렉토리에 넣고 디버깅할 파일을 프로세스 attach 시킨후 콘솔에서 .server tcp:port=nnnn 과 같이 입력하면 원격에서 접속이 가능하다.
File에 Connect to remote session에 browse를 눌러 대상컴퓨터의 이름을 입력하면 디버깅 서버가 보이므로 접속하면 디버깅이 가능하다.
당연히 대상 컴퓨터에 실행파일과 pdb 파일이 존재해야한다.
이렇게 설정을 하면 WinDBG로도 디버깅이 가능한데, 비주얼스튜디어가 깔려있지 않은곳, 즉 현장에서 디버깅시 유용하겠다.
단 VMware 또는 대상 컴퓨터에 WinDBG.exe, dbgeng.dll, dbghelp.dll 만 같은 디렉토리에 넣고 디버깅할 파일을 프로세스 attach 시킨후 콘솔에서 .server tcp:port=nnnn 과 같이 입력하면 원격에서 접속이 가능하다.
File에 Connect to remote session에 browse를 눌러 대상컴퓨터의 이름을 입력하면 디버깅 서버가 보이므로 접속하면 디버깅이 가능하다.
당연히 대상 컴퓨터에 실행파일과 pdb 파일이 존재해야한다.
TIP
매번 빌드할때 마다 실행파일 및 pdb 파일을 복사하기가 불편하다면 다른 방법이 있다.
VMware의 컴퓨터 또는 대상컴퓨터의 C: 드라이버 또는 원하는 디렉토리를 네트워크 드라이버로 연결하면 드라이버명(예, Z: 와같은)으로 빌드이벤트의 빌드후이벤트를 이용해서 복사하면 매번 번거롭게 복사를 하지 않아도 빌드시 자동적으로 복사가 된다.
기타 참고해서 볼만한 페이지들...
마이크로소프트사의 디버깅에 관한 페이지
http://msdn2.microsoft.com/ko-kr/library/d8k88a0k(VS.80).aspx
VMware를 이용한 커널디버깅
http://www.debuglab.com/board_detail.aspx?id=98&table=lecture&pagenum=10
커널 디버거(WinDbg) 설치하기
http://snoya.ye.ro/driver/windbg/windbg.html
Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다