ACE TAO 无法在调试模式下获取名称服务对象



我正在使用ACE TAO运行一个多程序项目。我设置了环境变量并编译ACE_TAO环境。然后,我将tao_cosnaming.exe复制到我的项目运行目录中,并使用.bat启动命名服务。

如果我直接启动它们,程序运行良好,但是当我在调试模式下调用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

有人可以分享一些关于出了什么问题的想法吗?谢谢!

仅凭您提供的信息很难给出明确的解决方案,但是在我的项目中,我需要传递"-c"(不带引号)作为命令参数,以便我可以调试它,也许您需要这样做。在 Visual Studio 的项目属性中,可以在"属性/调试"中找到"命令参数"字段。

相关内容

  • 没有找到相关文章

最新更新