全部产品

应用调试

更新时间:2020-09-18 11:08:41

在开发IoTJavaScript应用时,常需要进行应用代码的调试,这里提供一种不依赖硬件,却可模拟在硬件中实际运行轻应用的调试方法,当调试完成后,再通过应用热更新方式推送到硬件中实际运行,相比在设备中日志打印的调试方法,可更快地完成模块功能调试。

准备

调试

下载调试工具并解压到本地,在Linux环境中进行的功能调试,如查看系统版本、日志打印、时间戳、变量赋值等均可以通过该工具模拟实际运行的情况。由于IoT轻应用支持完整的ES5/ES5.1语法,但目前暂不支持直接运行ES6及以上的代码,所以我们还可以通过 NodeJS 进行部分功能的验证。

部分运行在NodeJS上的npm包,有可能使用了ES6语法,部分包不一定完全依赖

Linux amp功能调试

// 查看调试工具amp内容
$ tree -L 2
.
├── amp
├── app.js
└── app.json
0 directories, 3 files

// 执行amp应用
$ ./amp 
amp info=================
amp version: amp-v1.0.0-gceff790-Module_Hardware_version-Module_Software_version
amp build time: Sep 15 2020,20:55:54
==========================================

// 查看系统版本
amp> system.version()
amp-v1.0.0-gceff790-Module_Hardware_version-Module_Software_version

// 打印日志
amp> console.log('hello, world')
hello, world

// 打印时间戳
amp> new Date()
1970-01-09 11:37:46.532+08:00

// 变量操作
amp> var a =1;

amp> a
1

NodeJS功能验证

我们可以在本地使用NodeJS 验证应用代码,如调试工具amp.zip中提供了一个简单 app.js 应用,可以通过node直接运行该应用,代码和日志如下:

var time = new Date();
var a = 1;
setInterval(function(){
    console.log('hello amp! ' + time + ' a= ' + a++);
}, 1000);
// 查看node版本
$ node -v
v10.20.0

// 查看调试工具amp内容
$ tree -L 2
.
├── amp
├── app.js
└── app.json
0 directories, 3 files

// 运行
$node app.js
hello amp! Tue Sep 15 2020 21:21:41 GMT+0800 (China Standard Time) a= 1
hello amp! Tue Sep 15 2020 21:21:41 GMT+0800 (China Standard Time) a= 2
hello amp! Tue Sep 15 2020 21:21:41 GMT+0800 (China Standard Time) a= 3

调试效果

点击查看动图

调试效果图