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你内容有重复。