我正在使用ACE TAO运行多项目项目。我设置了环境变量并编译了ACE_TAO环境。然后我将tao_cosnaming.exe
复制到我的项目运行目录并使用.bat来启动命名服务。
如果我直接启动它们,程序运行良好,但是当我在调试模式下调用obj = orb-> resolve_initial_references(“NameService”)时,它们无法正确获取“NameService”。 (我无法运行obj-> _non_existent(),它会抛出错误)。
似乎因为命名服务是作为远程服务实现的。当我调用obj = orb->调用resolve_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
有人能分享一些关于出了什么问题的想法吗?谢谢!
答案 0 :(得分:0)
很难仅仅根据您提供的信息给出明确的解决方案,但在我的项目中,我需要通过" -c" (没有引号)作为命令参数,以便我可以调试它,也许你需要做同样的事情。 在项目属性的Visual Studio中,您可以在“属性/调试”中找到“命令参数”字段。