02 2017 档案

摘要:问题描述: 昨天运行ROS取数程序,发送端一共有512个进程,今天早上查看发送端的进程时: 只剩下511个进程,经过查找,发现main 2 3430 0 192.168.251.166这个进程消失了。 接收端没有报错,事例率陡降为0。 查看freepage:只有511个dataChannel: 44 阅读全文
posted @ 2017-02-22 11:30 小荷才楼尖尖角 阅读(217) 评论(0) 推荐(0)
摘要:整个数据流要做的事情:先找到整个取数流程瓶颈所在,然后在造成瓶颈的部分进行优化。 有下面几个问题: 1.瓶颈分为硬件上的和软件上的。我要找的是软件上瓶颈。所以要先知道硬件的实际能力。 于是需要:对已知的机器做性能测试,知道能跑出多少带宽,用来与ROS的取数带宽做对照,如果没达到这个测试出来的带宽,就 阅读全文
posted @ 2017-02-21 20:42 小荷才楼尖尖角 阅读(265) 评论(0) 推荐(0)
摘要:昨天误删了partitions文件夹下面的文件,(一会学习一下如何用github给代码备份) 弄丢了查看各个通道的buffer的脚本,找了一会查看buffer的命令: 查看某个通道的freepages用下面的命令: is_ls -p part_dk_ef -n DF -R ROS.ROS-Eth-0 阅读全文
posted @ 2017-02-21 10:19 小荷才楼尖尖角 阅读(334) 评论(0) 推荐(0)
摘要:查看了取数逻辑,整个SequentialInputHandler::run()函数包括两个部分: 1. 同步?删掉L1id小于0的Fragment? 我的理解是取到了第一个完整的事例 第410-469行 2. 真正取数部分,第470-525行 同步的部分,用了一个vector数组来记录每个dataC 阅读全文
posted @ 2017-02-20 21:24 小荷才楼尖尖角 阅读(443) 评论(0) 推荐(0)
摘要:在 SequentialInputHandler.cpp里,areFragmentsThere()函数用来检查L1id事例的数据片段有没有到齐。 查看头文件: 81 static const int c_mapSizeBins = 100; //Histogram (see below) 常量静态数 阅读全文
posted @ 2017-02-20 20:00 小荷才楼尖尖角 阅读(179) 评论(0) 推荐(0)
摘要:继续在第117~170行之间添加DEBUG_TEXT. 出错范围缩小到133~165行。 先在log文件找到requestOk:-1,确定是196635 出现问题。 继续加打印缩小范围,定位到是在第136行出现的问题: 查看ROBFragment.cpp中ROBFragment的构造函数如下: 查看 阅读全文
posted @ 2017-02-16 22:48 小荷才楼尖尖角 阅读(286) 评论(0) 推荐(0)
摘要:查看log文件ROS-Eth-02_cmm03node01_1487247826.out: 由于requestOk的值为-1,得出,Request的execute函数没有正确返回,因为正确返回的结果为0,1或者2。 在log文件里查找L1id为131076的FragmentRequest在execu 阅读全文
posted @ 2017-02-16 21:38 小荷才楼尖尖角 阅读(279) 评论(0) 推荐(0)
摘要:1. 静态成员函数的地址可以用普通函数指针存储,而普通成员函数地址需要用类成员函数指针来存储。 2. 静态成员函数不可以调用类的非静态成员。因为静态成员函数不含this指针。 3.静态成员函数不可以同时声明为virtual, const, volatile函数。 4. 静态成员函数无需创建任何实例对 阅读全文
posted @ 2017-02-16 11:29 小荷才楼尖尖角 阅读(278) 评论(0) 推荐(0)
摘要:一 . 静态数据成员 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其它数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态成员还具有以下特点: 1. 静态数据成员的定义。 静态数据成员实际上是类域中的全局变量 阅读全文
posted @ 2017-02-16 10:28 小荷才楼尖尖角 阅读(436) 评论(0) 推荐(0)
摘要:1. 虚析构函数是为了解决这样一个问题: 基类的指针指向派生类对象,并用基类的指针删除派生类对象。 如果某个类不包含虚函数,那一般是表示它将不作为一个基类来使用。 当一个类不准备作为基类来使用时,使析构函数为虚一般是个坏主意。因为它会为类增加一个虚函数表,使得对象的体积翻倍,还有可能降低其可移植性。 阅读全文
posted @ 2017-02-15 19:58 小荷才楼尖尖角
摘要:ROSIO ROS 的debuglevel可以在ROS的配置文件里修改参数TraceLevel参数的值。 1. 先在requirements文件里添加debug的编译选项(注释掉前两行,加上后两行) 2. make clean (没有这一步requirement修改不起作用) 3. make -j 阅读全文
posted @ 2017-02-15 16:26 小荷才楼尖尖角 阅读(487) 评论(0) 推荐(0)
摘要:上周找到在FragmentRequest的析构函数时,由于m_deleteChannelVector为0,没有进入if语句进行删除操作。 所以,要找到Request初始化的地方。Request在使用时是从requestQueue里pop出来一个,然后执行和删除的。 在IOManager.cpp里面应 阅读全文
posted @ 2017-02-14 10:05 小荷才楼尖尖角 阅读(163) 评论(0) 推荐(0)
摘要:昨天发现了是m_request指针被删除的次数少于前后打印的次数,证明删除指针这里有一些猫腻,今天继续查看m_request到底是什么。 查看requestHandler.h头文件,看到m_request的定义: 发现m_request是一个Request类型的指针,继续查看Request类, 在R 阅读全文
posted @ 2017-02-09 17:25 小荷才楼尖尖角 阅读(172) 评论(0) 推荐(0)
摘要:不同作用域声明的标识符的可见性原则: 如果存在两个或者多个具有包含关系的作用域,外层声明了一个标识符,而内层没有再次声明同名标识符,那么外层标识符在内层依然可见;如果在内层声明了同名标识符,则外层标识符在内层不可见,这时称内层标识符隐藏了外层同名标识符,这种现象称为隐藏规则。 在类的派生层次结构中, 阅读全文
posted @ 2017-02-09 15:15 小荷才楼尖尖角 阅读(713) 评论(0) 推荐(0)
摘要:将发送端sleep时间定为0, 即sleep(0). 事例率也在700Hz持续3分钟后降为0.查看log文件: 1. SFI 的log文件: WARNING 2017-Feb-08 15:39:55 [DC::StatusWord EventAssembly::EventCompleted(...) 阅读全文
posted @ 2017-02-08 16:52 小荷才楼尖尖角 阅读(331) 评论(0) 推荐(0)
摘要:信号量的主要目的是提供一种进程间同步的方式。 信号量有两种: 有名信号量和无名信号量。无名信号量也被称作基于内存的信号量。 有名信号量通过IPC名字进行进程间的同步,而无名信号量如果不是放在进程间的共享内存区中,是不能用来进行进程间同步的,只能用来进行线程间同步。 信号量有三种操作: 1. 创建一个 阅读全文
posted @ 2017-02-07 21:57 小荷才楼尖尖角 阅读(695) 评论(0) 推荐(0)