openDDS通信过程中出现异常: (1388|2978735184) ERROR: TransportReactorTask::svc caught exception

1. 根本原因: 引用了不存在的序列类型中的内存.

比如 序列 OctecSequence   data; 如果 data分配的内存为空,  如果引用 data[0] 就会引起该异常.

 

2. 本场景出现异常就是因为, DataReadListener数据监听接口On_data_availiable, 监听到了一个数据包,

在之后使用该数据包时,没有添加判断,直接使用了包中的数据. 引起异常.

 

3. 出现的异常信息中 1388代表进程, 通过ps可以查看是哪个进程出现的问题.

 

4. 场景中也出现了TransportReactorTask::svc caught exception - std::bad_alloc 的异常,

由于该异常情景没能再现,所以没法追踪bug, 估计原因是一样的.

  

posted @ 2020-06-17 10:17  猿起5-2  阅读(388)  评论(0编辑  收藏  举报