admin | 世界杯足球赛事
文章目录
环境背景微信开发者工具调试断点单步调试修改变量的值Storage
环境
Windows 11 专业版HBuilder X 4.65微信开发者工具 Stable 1.06.2412050
背景
在HBuilder X里,运行 -> 运行到小程序模拟器 -> 微信开发者工具,如下图所示:
注:无需事先打开微信开发者工具。
微信开发者工具调试
断点单步调试
在微信开发者工具里可以设置断点,以单步调试代码。具体方法为:调试器 -> Sources -> appContext -> uni-app:// ,然后在里面找到页面文件,比如 index.vue ,然后双击打开文件,在源代码左边的行号处单击即可设置断点,如下图所示:
然后就可以单步调试代码了,常用快捷键:
F8 :Resume executionF10 :Step overF11 :Step intoShift + F11 :Step out of current function
此外,在右侧可以看到,有Watch,Call Stack,Breakpoints等信息,和其它IDE环境类似,不再赘述。
修改变量的值
在单步调试时,使用watch,可以查看变量或者表达式的值,但有时我们会希望把变量的值改成指定值。比如下面的 if 语句:
if (x > 0) {
......
} else {
......
}
断点设置在 if 语句,假设当前 x 值为1,因此接下来会走true分支,而我们希望走false分支,所以就要把 x 的值改为0。
要想这么做的话,只需切换到 Source 左边的 Console 页签,在这里可以设置变量的值。
下面看一个完整的例子:
从上图可以看到, cityTime 当前值为 1747880148100 。现在我希望把 cityTime 设置为 1 。
切换到 Console 页签,首先输入 cityTime 并回车,确认其当前值:
然后,直接在命令行给 cityTime 赋值即可:
切换回 Sources 页签,可以看到, cityTime 的值已经变成 1 了:
注:从右边两个红框可以看到, cityTime 的值还是旧值,这可能是因为因为UI上没有刷新的缘故,实际上 cityTime 的值已经变化了。
单步运行第154行,然后切换到 Console 页签,可以看到,实际输出结果是 1 :
Storage
对于Storage的变量,有两种修改方法:
方法1:和前面一样,在Console里通过代码设置,比如:
uni.setStorage({
key: 'cityTime',
data: 1,
success: function() {
//
},
})
方法2:直接在 Storage 页签查看和修改变量:
注:这样修改貌似无效,看着值是修改了,但实际上值并没有变化……不知道是哪里出了问题?