2013-09-21 32 views
0

我正在使用ACE TAO多程序項目獲得名稱服務對象。我設置了環境變量並編譯了ACE_TAO環境。然後我將tao_cosnaming.exe複製到我的項目運行目錄並使用.bat啓動命名服務。ACE TAO不能在調試模式

如果我直接啓動它們,程序運行良好,但在調試模式下調用obj = orb-> resolve_initial_references(「NameService」)時,它們無法正確獲取「NameService」。 (我無法運行obj - > _ non_existent(),它會引發錯誤)。

這似乎是因爲命名服務被作爲遠程一個實現。當我調用的obj = orb->引用的resolve_initial_references( 「根POA」),一切都很好,因爲根POA是本地對象,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端點傳遞給您的程序?一個更好的地方要問這是張國燾用戶郵件列表,請參閱http://www.cs.wustl.edu/~schmidt/ACE-mail.html –

回答

0

很難給人以剛剛您所提供的信息明確的解決方案,但在我的項目,我需要通過「-c」(不帶引號)作爲命令的參數,這樣我可以調試它,也許你需要照着做。 在項目屬性中的Visual Studio中,您可以在Properties/Debugging中找到Command arguments字段。