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

Bug类型

  1. 空指针异常Bug

正确版本程序

  1. apps/benchmark/BlinkToRadio
    1、运行BlinkToRadio节点结果:
    这里写图片描述
    2、PC端运行结果:
    这里写图片描述

程序描述

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

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

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

Avrora运行程序

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

  2. make mica2;

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

  4. 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程序编译之后的可执行文件)

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

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

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

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

bug版本程序

  1. /apps/benchmark/bm_BlinkToRadio
    1、运行BlinkToRadio节点程序结果:
    这里写图片描述
    2、PC端运行结果:
    这里写图片描述

程序修改的部分

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

bug的显现条件

  1. counter计数为4的倍数时

Bug症状

  1. 节点发送和接收的数据包有重复;
  2. PC端接收的数据包的有效负载中counter你内容有重复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值