ACE TAO не может получить объект NameService в режиме отладки
Я бегу многопрограммные проекты с использованием ACE TAO. Я установил переменные среды и скомпилировал среду ACE_TAO. Затем я скопировал tao_cosnaming.exe
в мой каталог запуска проекта и используйте.bat для запуска службы имен.
Программы работают хорошо, если я запускаю их напрямую, но они не могут правильно получить "NameService", когда я вызываю obj = orb->resol_initial_references("NameService") в режиме отладки. (Я не смог запустить obj->_non_existent(), он выдает ошибку).
Казалось, служба именования реализована как удаленная. Когда я вызываю obj = orb->invololize_initial_references("RootPOA"), все в порядке, потому что RootPOA является локальным объектом, поэтому obj -> _ non_existent () немедленно возвращается.
Файл.bat выглядит так:
cd /D %DTAX_RUN_DIR%
tao_cosnaming -ORBEndPoint iiop://%DTAX_NAME_SERVICE_HOST%
DTAX_RUN_DIR
а также DTAX_NAME_SERVICE_HOST
переменные среды DTAX_RUN_DIR
каталог запуска проекта и DTAX_NAME_SERVICE_HOST=169.254.51.81:10493
Кто-нибудь может поделиться некоторыми идеями о том, что идет не так? Спасибо!
1 ответ
Трудно дать определенное решение только с предоставленной вами информацией, но в моих проектах мне нужно передать "-c" (без кавычек) в качестве аргумента команды, чтобы я мог его отладить, возможно, вам нужно сделать то же самое. В Visual Studio в свойствах проекта вы можете найти поле аргументов Команды в Свойствах / Отладке.