Benchmark库的建立02:除0 bug

来源:互联网 发布:如何申请域名注册机关 编辑:程序博客网 时间:2024/05/01 04:04

Bug类型

  1. Bug类型

正确版本程序

  1. apps/benchmark/BlinkToDivide

程序描述

  1. 计算一个常量与数组中每个数的比率值;
  2. 每计算一个比率值切换LED1的状态;除0时切换LED1的状态;计算结束后切换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 btd.elf;
  4. avrora -platform=mica2 -monitors=leds-seconds=10 -simulation=sensor-network btd.elf 。

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

  1. 能正确计算常量与每个测试数组中的比率值;
  2. 每计算一个比率值切换LED1的状态;计算结束后切换LED3的状态;LED1的状态不会发生切换。

bug版本程序

  1. /apps/benchmark/bm_BlinkToDivide

bug的显现条件

  1. testArray数组中有0元素

Bug症状

这里写图片描述

  1. 当计算数组0元素的比率值时LED1的状态发生切换。
  2. 运行net.tinyos.tools.PrintClient程序会显示除0错误提示信息:Error:Divide by Zero.”
0 0
原创粉丝点击