2013-09-21 14 views
0

ACE TAO를 사용하여 다중 프로그램 프로젝트를 실행 중입니다. 환경 변수를 설정하고 ACE_TAO 환경을 컴파일했습니다. 그런 다음 tao_cosnaming.exe을 프로젝트 실행 디렉토리에 복사하고 .bat를 사용하여 이름 지정 서비스를 시작합니다.ACE TAO가 NameService 객체를 디버그 모드로 가져올 수 없습니다.

직접 시작하면 프로그램이 제대로 실행되지만 디버그 모드에서 obj = orb-> resolve_initial_references ("NameService")를 호출하면 프로그램이 올바르게 "NameService"를 가져올 수 없습니다. (obj -> _ non_existent()를 실행할 수 없습니다. 오류가 발생합니다).

이름 지정 서비스가 원격 서비스로 구현 되었기 때문에 보였습니다. obj = orb-> invoke resolve_initial_references ("RootPOA")를 호출하면 RootPOA가 로컬 객체이므로 obj -> _ non_existent()가 즉시 반환하므로 문제가 없습니다.

.BAT 파일과 같은 것입니다 :

cd /D %DTAX_RUN_DIR% 
tao_cosnaming -ORBEndPoint iiop://%DTAX_NAME_SERVICE_HOST% 

DTAX_RUN_DIRDTAX_NAME_SERVICE_HOST이 환경 변수입니다. DTAX_RUN_DIR은 프로젝트를 실행하는 디렉토리이고 DTAX_NAME_SERVICE_HOST=169.254.51.81:10493

어떤 문제가 발생했는지에 대해 의견을 공유 할 수 있습니까? 감사!

+0

아무도 ??? 부디!!! 도움!!!! – user2801736

+0

네이밍 서비스의 IIOP 끝점도 프로그램에 전달합니까? 이 질문에 더 좋은 곳은 tao-users 메일 링리스트입니다 (http://www.cs.wustl.edu/~schmidt/ACE-mail.html 참조). –

답변

0

제공된 정보만으로 확실한 해결 방법을 제시하기는 어렵지만 프로젝트에서 디버깅 할 수 있도록 "-c"(따옴표 제외)를 명령 인수로 전달해야합니다. 똑같이하십시오. Visual Studio의 프로젝트 속성에서 속성/디버깅의 명령 인수 필드를 찾을 수 있습니다.