|
楼主 |
发表于 2009-12-1 00:32:02
|
显示全部楼层
万分感谢各位版主大大们的赐教,诚如wishel版主所言,打trace是最快捷的途径,我这边用gdb打印出来了错误处
0x001d7526 in ACE_Message_Block::total_size_and_length (this=0xb7f73a98, mb_size=@0xb5a6ff4c,
mb_length=@0xb5a6ff48) at Message_Block.cpp:267
267 mb_size += i->size ();
(gdb) print i
$1 = (const ACE_Message_Block *) 0xb7f73a98
(gdb) print *i
$2 = {_vptr.ACE_Message_Block = 0xb7f73af8, rd_ptr_ = 0, wr_ptr_ = 7, priority_ = 0,
cont_ = 0x0, next_ = 0x0, prev_ = 0x0, flags_ = 0, data_block_ = 0x0,
message_block_allocator_ = 0x9fd9558}
其实可以看到i已经不存在了,我会尝试打印size的大小,不过就现在的流量而言顶棚了不到5K,很难想象会是带宽问题,很可能只是数据传的太快,我会仔细地再看看,我这边代码比较分散,不是很方便传,如果实在搞不出来,希望大大们可以远程协助下我 |
|