小程序調試
程序調試主要有三大功能區:模擬器、調試工具和小程序操作區。
模擬器
模擬器類比小程序在用戶端真實的邏輯表現,對於絕大部分的API均能够在模擬器上呈現出正確的狀態。

自定義編譯
按一下工具列中的編譯按鈕或者使用快速鍵Ctrl(⌘)+ B,可以編譯當前代碼,並自動刷新模擬器。
同時為了幫助開發者調試從不同參數進入具體的頁面,開發者可以添加或選擇已有的自定義編譯條件進行編譯和代碼預覽(如圖)。
TIP
編譯條件跟項目相關,每個項目可以保存自己相關的編譯條件。

調試工具
調試工具分為9大功能模組: Wxml、Console、Sources、Network、Appdata、Storage、Sensor、Mock、Compatibility。
Wxml panel
Wxml panel用於幫助開發者開發wxml轉化後的介面。 在這裡可以看到真實的頁面結構以及結構對應的wxss内容,同時可以通過修改對應wxss内容,在模擬器中實时看到修改的情况(僅為實时預覽,無法保存到文件)。 通過調試模塊左上角的選擇器,還可以快速定位頁面中組件對應的wxml代碼。
Console panel
Console panel有兩大功能:
- 開發者可以在此輸入和調試代碼;
- 小程序的錯誤輸出,會顯示在此處。
Source panel
用於顯示當前項目的腳本文件,同瀏覽器開發不同,小程序框架會對腳本文件進行編譯的工作,所以在Sources panel中開發者看到的文件是經過處理之後的腳本文件,開發者的代碼都會被包裹在define函數中,並且對於Page代碼,在尾部會有require的主動調用。
開發者可以在代碼中添加debugger; 小程序中斷點會進入到這裡。

Network panel
Network Panel用於觀察和顯示request和socket的請求情况。
Appdata panel
AppData panel用於顯示當前項目運行時小程序AppData具體數據,實时地反映項目數據情况,可以在此處編輯數據,並及時地迴響到介面上。
Storage panel
- Storage panel用於顯示當前項目使用wx.setStorage或者wx.setStorageSync後的資料存儲情况。
- 可以直接在Storage panel上對數據進行删除(按delete鍵)、新增、修改。
Sensor panel
Sensor panel有兩大功能:
- 開發者可以在這裡選擇類比地理位置。
- 開發可以在這裡類比移動設備表現,用於調試重力感應API。
Mock panel
為了讓開發者更方便地開發小程序,開發者工具提供了API Mock的能力,可以類比部分API的調用結果。通常開發者需要mock一些容器實現的自定義API或者是用戶資訊,下麵截圖將展示mockAPI的能力使用。 如下代碼片段中,將會mock checkSession api。


在mock過程中,如果有類型錯誤,mock將會失效,無法mock成功。

Compatiblity panel
小程序搬家工具Compatibility
您可以在Compatibility處,發起Luffa小程序相容性檢測,按一下開始檢測。
搬家工具會遍歷當前小程序中的組件、API、json文件等,檢測完成後,在下方視窗會展示檢測結果,可將檢測結果excel文件匯出。
遠程調試
真機調試入口:

按一下真機調試,此時,工具會將本地代碼進行處理打包並上傳,就緒之後,使用手機用戶端掃描二維碼即可彈出調試視窗,開始真機調試。
TIP
使用真機調試Android、iOS SDK版本需要大於1.5.12。
使用接入SDK的App掃描此二維碼,即可開始遠程調試。
要結束調試,直接關閉此調試視窗,或按一下右下角'結束調試'按鈕即可。
遠程調試視窗分為兩部分,分別是左側的調試器視圖、右側的資訊視圖。 開發者可以在調試器裏直接進行代碼的調試,並查看Storage情况; 資訊視圖則可以查看現時與手機和服務器的連接情况,以及發生的錯誤資訊等。
在遠程調試的調試器裏,開發者可以在Console面板裏對代碼進行調試,在Sources面板裏查看小程序的原始代碼並進行中斷點單步調試,在Storage面板裏查看小程序的Storage使用情况等。

對於JS的中斷點調試,在代碼裏使用debugger。


wxml面板:

右側的資訊視圖展示了手機、網絡連接的資訊。 手機資訊展示手機的型號、系統、名稱、宿主App版本等資訊,以及通信延時。 通信延時越小,與手機的通信越流暢,打開節點審查模式,可以在真機按鈕上按一下元素查看元素詳情。