codecamp

微信小游戏开发文档-小游戏开发工具调试

程序调试主要有三大功能区:模拟器、调试工具和小程序操作区

模拟器


模拟器模拟微信小程序在客户端真实的逻辑表现,对于绝大部分的 API 均能够在模拟器上呈现出正确的状态。

微信小游戏开发模拟器调试

自定义编译


点击工具栏中的编译按钮或者使用快捷键 Ctrl(⌘) + B,可以编译当前代码,并自动刷新模拟器。

同时为了帮助开发者调试从不同场景值进入具体的页面,开发者可以添加或选择已有的自定义编译条件进行编译和代码预览(如图)。

注:编译条件跟项目相关,每个项目可以保存自己相关的编译条件

微信小游戏开发工具自定义编辑

前后台切换


工具栏中前后台切换帮助开发者模拟一些客户端的环境操作。例如当用户从小程序中回到聊天窗口,会触发一个小程序被设置为后台的回调。

微信小游戏开发工具前后台切换调试

调试工具


调试工具分为 7 大功能模块:Console、Sources、Network、Appdata、Storage

Sources panel

Sources panel 用于显示当前项目的脚本文件,同浏览器开发不同,微信小程序框架会对脚本文件进行编译的工作,所以在 Sources panel 中开发者看到的文件是经过处理之后的脚本文件,开发者的代码都会被包裹在 define 函数中,并且对于 Page 代码,在尾部会有 require 的主动调用。

微信小游戏开发工具调试工具Sources panel


注:当代码运行到断点的时候,整个小程序都停止了,所以模拟器会出现白屏或者无法操作的情况

Storage panel

Storage panel 用于显示当前项目使用 wx.setStorage 或者 wx.setStorageSync 后的数据存储情况。

可以直接在 Storage panel 上对数据进行删除(按 delete 键)、新增、修改

微信小游戏开发工具Storage panel调试工具


Network panel

Network Panel 用于观察和显示 request 和 socket 的请求情况

微信小游戏开发文档调试工具Network panel

注:uploadFile 和 downloadFile 暂时不支持在 Network Panel 中查看

Console panel

Console panel 有两大功能:

  • 开发者可以在此输入和调试代码

    微信小游戏开发工具Console panel调试工具

  • 小程序的错误输出,会显示在此处

    小程序错误输出

  • 在控制台中可以输入以下命令

build: 编译小程序

upload: 上传代码

openVendor: 打开基础库所在目录

openToolsLog: 打开工具日志目录

checkProxy(url): 检查指定 url 的代理使用情况


微信小游戏开发文档-小游戏开发快捷键
微信小游戏开发文档-小游戏开发工具命令行调用
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

微信小游戏 API

微信小游戏API 系统

微信小游戏设备

微信小游戏API 文件

微信小游戏网络

微信小游戏API 界面

微信小游戏数据上报

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }