메뉴 바로가기 본문 바로가기

기술자료

windows ce 에서 ActiveSync 연결로 디버깅 연결이 되지 않는 문제
kdh5001 2014-02-24 오전 10:59:16 조회 13866
시스템 : SMDK6410 / Windows CE 6.0 R3 / ActiveSync(USB)
 
증상 :
1. ActiveSync 연결은 잘 되지만, 어플 디버깅을 통한 연결이 되지 않는 문제.
2. 연결 시도하면, 약 3분 후 연결이 끊어짐
3. 다른 보드의 어플 디버깅은 잘 됨
4. PB의 원격 툴은 연결이 잘 되지만, VS2005의 원격 툴은 연결이 되지 않음.



원인 :
ActiveSync를 이용한 디버깅 연결을 시도하면 제일 먼제 디버깅과 관련된 파일을 Windows\CoreCon에 복사한다.
그런 후 해당 파일 ConManClient2.exe를 실행해서 GUID를 생성하고, CMAccept.exe를 실행하여 VS2005의 연결을 기다린다.
연결은 디폴트로 3분간 대기하고 연결이 없을 시 끊어진다.


ConManClient2.exe가 GUID로 되어진 디렉토리를 생성하고, Client_Not_Running이라는 파일을 생성 후 바로 종료되는 문제
ConManClient2.exe가 종료되는 경우는 크게 두 가지이다.
 
1.     ConManClient는 배터리 전원이 낮을 때 전원 알림을 사용하여 종료.
2.     ConManClient2는 OS가 전원관리를 지원하지 않을 경우 실행에 실패
----------------------------------------------------------------------------------
 
해결 :
PowerManagement 부분을 수정.
해당 레지스트리를 제거한 부분을 다시 살림.
그 후 빌드 후 연결 시 잘 됨.
 
<재현>
1. ConManClient2.exe에서 문제가 있다는 것을 의심.
2. 해당 프로세스에 대한 로그 확인
ConManClient2.exe 실행 후 HKEY_CURRENT_USER\Software\Microsoft\CoreCon 하위에 레지스트리 항목 체크
아무것도 없을 경우 다음 실행
3. CoreCon 디버그 로그 메시지 설정


3. 레지스트리 설정 후 CMD에서 ConManClient2.exe 실행


해당 hPower=NULL 부분은 OS의 전원관리 부분이 빠졌을 경우 나온다.
즉, RequestPowerNotifications()함수가 NULL을 리턴 할 경우 Power Management를 지원하지 않는 것이다.
이것을 해결 하기 위해서는 전원관리 부분이 정상적으로 동작하는 지 확인해야 한다.
본 이슈의 경우에는 레지스트리 부분이 제거 되어 전원관리 부분이 빠져있어서 작동이 되지 않은 것이다.

답변 목록

회원가입