您的位置:首页 > 其它

Benchmark库的建立03:空指针异常Bug

2016-02-25 11:37 531 查看
Bug类型

空指针异常Bug

正确版本程序

apps/benchmark/BlinkToRadio

1、运行BlinkToRadio节点结果:



2、PC端运行结果:



程序描述

以计数和发送节点id作为packet的有效负载,通过无线定时将packet发送出去;

BaseStation节点将接收到的数据包通过串口转发给PC端,并在PC端打印接收到的数据包;

接收其它节点发送过来的数据,计数值的三个最低有效位分别显示在LED1、LED2、LED3上。

Avrora运行程序

alias avrora=’java -jar avrora-beta-1.7.113.jar -colors=false

-banner=false’;

make mica2;

mv build/mica2/main.exe btr.elf;

avrora -platform=mica2 -monitors=serial,leds,packet -ports=1:0:2390 -stagger-start=6140 -seconds=4 -simulation=sensor-network -nodecount=1,1 btr.elf bs.elf (bs.elf为BaseStation程序编译之后的可执行文件)

java net.tinyos.tools.Listen -comm network@localhost:2390

运行结果分析(正确版本)

能正确发送和接收数据包;

PC端运行的Listen程序能正确打印接收到的数据包。

bug版本程序

/apps/benchmark/bm_BlinkToRadio

1、运行BlinkToRadio节点程序结果:



2、PC端运行结果:



程序修改的部分

event void Timer0.fired()事件中当counter计数为4的倍数时指针赋值为NULL。

bug的显现条件

counter计数为4的倍数时

Bug症状

节点发送和接收的数据包有重复;

PC端接收的数据包的有效负载中counter你内容有重复。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: