Javascript線上調試工具的實作
場景:在網頁上編寫javascript代碼,連接配接安卓手機,在安卓中執行javascript代碼,并可以将javascript代碼直接生成安卓程式(APK)。
如果實作調試功能,需要解決以下幾個問題:
1.線上IDE代碼和安卓手機實時同步
2.線上IDE斷點和安卓手機實時同步
3.線上IDE調試資訊的實時回傳
實作這個的方法是建立一個網絡機制,網頁IDE端和手機進行實時資料同步,在此基礎上代碼同步就佷容易了,實時傳代碼到安卓手機即可。斷點數組記錄下來,也同時傳給安卓手機。
斷點調試分幾種,分别:
debug/contionue 開始調試/繼續執行 (F5)
stop debugging 停止調試(shift+F5)
step over 單步(F10)
setp into 單步進入(F11)
step out 單步跳出(shift+F11)
javascript調試相當比較簡單,不像C語言需要轉換成彙編指令需要檢視寄存器,直接解析執行就可以完成。
以下是實時的例子和效果:
//--------------------------------------------------------------------------------------------------
//Ctrl.js 開發環境:http://ikaiwei.com:8889/ctrljs/
//Ctrl.js 視訊教程:https://www.bilibili.com/video/BV1y54y1D7rr?from=search&seid=6533699600441036938
//Ctrl.js 幫助文檔:http://www.ikaiwei.com/download/ctrljs/ctrl.js.pdf
//Ctrl.js 開發文檔:http://ikaiwei.com:8889/ctrljsapi/index.html
//Ctrl.js 手機app(開維控制精靈)華為下載下傳:https://appstore.huawei.com/app/C100728387
//Ctrl.js 背景保活:禁止螢幕休眠;開啟懸浮框;關閉電池優化
//--------------------------------------------------------------------------------------------------
// 腳本功能:javascript線上調試安卓示例
// 運作環境:華為手機,安卓9.0以上版本
// 注意事項:1.確定網頁端和安卓手機,同一個手機号登入
// 遞歸運算5的階層
function abc(n)
{
if (n == 1)
return 1;
return n*abc(n-1);
}
var i = 0;
var k = abc(5);
toast("5的階層結果為:" + k.toString());
for (i = 0; i < 2; i++)
{
toast("hello world");
}