2013-11-15 47 views
0

我想用BULKIO发送大于2MB的包。我已将/etc/omniORB.cfg中的giopMaxMsgSize修改为8388608,但仍收到以下错误消息:“由BULKIO_dataFloat_Out_i调用pushPacket失败”。有关如何调试的建议?BULKIO大包失败

回答

1

尝试调整omniORB日志记录级别(请参阅REDHAWK文档,Appendix H, section 3)。它可以生成很多调试信息,但它可以帮助您缩小问题范围。

我试过这个使用两个C++组件,并能够通过调整您所提到的omniORB.cfg属性来推送大(> 2MB)BULKIO浮点数据包。你还使用C++吗? Redhawk 1.9.0?

+0

使用C++和1.84。计划尽快转移到1.9。 – erf0099

0

通常,当总数据量超过您的giopMaxMsgSize大小(总字节数)时,将发生此类错误。如果我们做数学8388608/4 = 2097152浮点值,其中浮点数有4个字节。因此,您的向量不能超过2097152个实际样本或1048576个复杂样本。

它检查这个的一种方法是在调用push之前记录输出向量的大小。