小程序开发调试指南

调试指南

一、Vconsole

一些线上问题需要在真机中进行调试或日志输出,为方便查看前端日志的输出,App 端提供了调试模式, 打开调试模式后面板界面中会显示 vConsole 按钮,点击后可打开手机端 vConsole界面查看日志输出。

1.如何开启

  • 点击小程序右上角胶囊 三个点。 点击打开调试即可打开Vconsole。

2.性能分析工具

  • 您可通过分析工具从宏观角度上查看小程序的运行性能,结合对应维度的数值判断性能优化点,进行优化。
  • 注意: 基础库版本需大于 2.11.0
  • 性能维度应结合对应机器设备的硬件性能进行判断。
打开方式:
  • 点击胶囊 三个点。 打开调试 - 点击 vConsole - 点击 【Perf】- 切换到性能工具启动页。

  • Toggle Log:用于切换是否接受逻辑层 console 日志信息,建议在进行性能数据采集前进行关闭,避免 console.log 日志数据干扰性能指标
  • Open FPS monitor:打开 FPS 监控, 打开后点击【性能监控图】可切换指标维度,拖动【性能监控图】可移动位置。

FPS:视图每秒渲染帧数

数据越高越流畅,反之。

  • 60~50 区间 - 优秀
  • 50~40 - 良好
  • 40~ - 待改进
MS:每帧渲染消耗的时间
  • 每帧消耗的时间(单位 ms),数值越高 FPS 越低,反之。
MT:逻辑层通信到视图层消耗时间

一次逻辑层消息成功发送到视图层所消耗的时间 (单位 ms)数值越高交互反馈越慢,反之。 小程序双线程模式逻辑层与视图层的通信,通信数据均需要进行序列劣化与反序列化,当数据量越大则消耗的时间越高。

  • 通信时间:应维持在 100ms 以下,根据机器的性能结合 FPS 性能维度进行判断。
  • 通信次数:不应出现连续的长时间的通信调用,持续的、大量的通信可能造成堵塞,影响交互反馈。
KB:逻辑层通信到视图层的数据大小

一次逻辑层消息成功发送到视图层数据的体积(单位 KB),数值越高交互反馈越慢,反之。 体积越大 MT 指标越高,应避免频繁、长时间的大数据传输。setData 使用 split path 进行数据根更新。

  • 通信体积:数据体积应维持在一个较低的值,避免长时间大数据传输。
  • 通信次数:不应出现连续的长时间的通信调用,持续的、大量的通信可能造成堵塞,影响交互反馈。

 

二、IDE 日志

  • 当IDE运行出现问题或者闪退时,请将IDE运行日志发送给智能小程序团队,以便协助排查。
  • 日志查看途径:顶部菜单栏 - Debug - 查看日志
    • 客户端:IDE的运行基础日志。
    • 真机调试:在真机调试过程中的IDE日志。当真机调试出现问题时上传此日志。
    • 插件:插件相关日志。

 

三、客户端日志

  • App 发生异常或闪退等问题,可上传日志帮助我们更好地定位和解决问题。

上传步骤:

  • 执行小程序运行出错的步骤 如App闪退,小程序API调用异常等。 记录执行的时间。
  • 打开 App 设置 - 关于 - 上传日志 -日志上传。
  • 将日志弹窗截图和异常触发时间记录后联系智能小程序团队。

四、常见问题(FAQ)

  • Q: 在开发的过程中配置将右上角胶囊隐藏了,还有别的方式打开调试吗?

    • 可通过 changeDebugMode来设置调试模式。 小程序原生开发使用ty.changeDebugMode
    • 需要注意,在上线时关闭。
    ty.changeDebugMode({
        isEnable: true,
        success: function () {
          console.log('success')
        },
        fail: function (e) {
          console.log('fail', e)
        }
      })

    changeDebugMode

    设置调试模式

    引入

    import { changeDebugMode } from '@ray-js/ray';

    需引入MiniKit,且在>=2.6.0版本才可使用

    参数

    Object object

    属性类型默认值必填说明
    isEnableboolean调试模式开关
    completefunction接口调用结束的回调函数(调用成功、失败都会执行)
    successfunction接口调用成功的回调函数
    failfunction接口调用失败的回调函数
  • Q: 为什么有的小程序长按没有打开调试的入口?

    • 目前仅预览版和体验版小程序支持打开调试功能,线上版本小程序不支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/506342.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JumpServer 堡垒主机

JumpServer 堡垒机帮助企业以更安全的方式管控和登陆各种类型的资产 SSH:Linux/Unix/网络设备等Windows:Web方式连接/原生RDP连接数据库:MySQL、Oracle、SQLServer、PostgreSQL等Kubernetes:连接到K8s集群中的PodsWeb站点&#x…

复现黄金票据

一、搭建环境 搭建域环境可以点击这个查看步骤 在这里面monowall的配置查看 二、实验步骤 拿到域名 拿到SID 使用mimikatz拿到krbtgt用户的哈希 删除票据 也可以使用mimikatz.exe删除票据,命令是kerberos::purge 伪造票据 拿到域控 伪造成功

物联网实战--入门篇之(六)嵌入式-WIFI驱动(ESP8266)

目录 一、WIFI简介 二、基础网络知识 三、思路讲解 四、代码分析 4.1 状态机制 4.2 客户端连接 4.3 应用数据接收处理 4.4 数据发送 4.5 主函数调用 4.6 网络连接ID分配 五、总结 一、WIFI简介 WIFI在我们生活中太常见了,手机电脑都可以用WiFi连接路由器进行上…

MySQL核心命令详解与实战,一文掌握MySQL使用

文章目录 文章简介演示库表创建数据库表选择数据库删除数据库创建表删除表向表中插入数据更新数据删除数据查询数据WHERE 操作符聚合函数LIKE 子句分组 GROUP BY HAVINGORDER BY(排序) 语句LIMIT 操作符 分页查询多表查询-联合查询 UNION 操作符多表查询-连接的使用-JOIN语句编…

从0到1手把手撸码搭建后台管理系统

从0到1手把手撸码搭建后台管理系统 第一章:系统介绍开发目的与过程 要使用 Vue3 搭建后台,你可以按照以下步骤进行: 安装 Vue3:使用包管理工具(如 npm 或 yarn)安装 Vue3。选择构建工具:选择一个适合的构…

Spring之循环依赖

什么是循环依赖? 依赖的相互引用,如下列的这种形式 Component public class A {Autowiredprivate B b;}Component public class B {Autowiredprivate A a; } Spring是如何解决循环依赖的 Spring是通过三级缓存来解决循环依赖 singletonObjects : 单例bean,已经实例化,完成…

非周期连续函数的傅里叶变换

首先 我们把一个非周期信号扩展成一个周期信号 然后用傅里叶级数展开 也可以得到对应的级数系数 利用周期趋向于无穷大 可以把傅里叶级数展开就变成了一个积分 而神奇的是积分里其实还有一个积分 这样我们就得到了傅里叶变换对 我们把里面的积分成为函数的傅里叶变换 把外面…

C语言交换二进制位的奇数偶数位

基本思路 我们要先把想要交换的数的二进制位给写出来假如交换13的二进制位,13的二进制位是 0000 0000 0000 0000 0000 0000 0000 1101然后写出偶数位的二进制数(偶数位是1的) 1010 1010 1010 1010 1010 1010 1010 1010然后写出奇数位的二进…

Mac通过Idea启动Tomcat时出现Cannot run program xxx/catalina.sh 错误

问题描述 Mac通过Idea启动Tomcat时出现Cannot run program xxx/catalina.sh错误,详细如下: Error running Tomcat9 Cannot run program "/Users/xxx/Desktop/work/devtools/apache-tomcat-9.0.19/bin/catalina.sh" (in directory "/U…

算法设计课第一周(排序算法的效率分析)

实验1 排序算法的效率分析 一、【实验目的】 (1)复习排序算法的实现过程; (2)设计平均与最坏情况下时间复杂度的数据环境并理解相关含义; (3)初步了解算法时间复杂度的分析方法。…

FlashFace:一种高保真身份保存的人类形象个性化方法

FlashFace技术是由香港大学、阿里巴巴集团、蚂蚁集团共同研发的一项实用工具,用户可以通过提供一张或几张参考面部图像和文本提示,就可以轻松地即时个性化自己的相片。 与现有的人像定制方法相比,FlashFace方法具有更高保真度的身份保留xi性…

【spring】Spring Cloud Alibaba版本发布说明

Spring Cloud Alibaba版本发布说明 由于 Spring Boot 3.0,Spring Boot 2.7~2.4 和 2.4 以下版本之间变化较大,目前企业级客户老项目相关 Spring Boot 版本仍停留在 Spring Boot 2.4 以下,为了同时满足存量用户和新用户不同需求,社…

Vue 组件化编程

Vue 组件化编程 非单文件组件 定义组件 使用Vue.extend(options)创建 不要写eldata要写成函数,避免组件被复用时,数据存在引用关系 注册组件 局部注册:new Vue()的时候,options传入components全局注册:V…

Linux 个人笔记之三剑客 grep sed awk

文章目录 零、预一、grep 文本过滤工具基础篇实战篇 二、sed 字符流编辑器基础篇实战篇 三、awk 文本处理工具基础篇实战篇 四、附xargsuniq & sort基础篇实战篇 cut 零、预 bash 的命令行展开 {} $ echo file_{1..4} file_1 file_2 file_3 file_4$ echo file_{a..d} file_…

高等数学基础篇(数二)之多元函数的基本概念

多元函数基本概念: 一、多元函数的极限 二、多元函数的连续性 三、偏导数 四、全微分 目录 一、多元函数的极限 二、多元函数的连续性 三、偏导数 1.偏导数的定义 2.二元函数偏导数的几何意义 3.高阶偏导数 四、全微分 补充: 一元函数极限连…

BIONIOAIO

通信技术整体解决的问题 1.局域网内的通信要求 2.多系统间的底层消息传递机制 3.高并发下,大数据量的通信场景需要 4.游戏行业。无论是手游服务端、还是大型网络游戏,java的应用越来越广 IO模型基本说明 就是用什么样的通道或者说是通信模式和架构…

数学逻辑专题

数学专题 分治篇LeetCode 263. 丑数解题思路代码实现总结 不要纠结,干就完事了,熟练度很重要!!!多练习,多总结!!! 分治篇 LeetCode 263. 丑数 解题思路 为判断 nnn 是否…

前端实现菜单搜索搜索(功能模版)

目录 前言正文 前言 总体界面如下所示&#xff1a; 正文 <template><div class"avue-searchs"click.self"handleEsc"><div class"avue-searchs__title">菜单搜索</div><div class"avue-searchs__content"…

以XX医院为例的医疗建筑能效管理系统【建筑能耗 供电可靠 】

一、行业背景 二、行业特点 1.供电可靠性要求高&#xff1a;医院配电系统复杂&#xff0c;门诊、急救、手术室、ICU/CCU、血液透析等场合特一级和一级负荷比较多&#xff0c;一旦发生故障会造成严重影响&#xff0c;对配电可靠性要求极高。 2.能耗水平高&#xff1a;医院能耗…

Vue.js基础指令

&#xff08;在讲指令之前&#xff0c;可以先了解插值表达式&#xff0c;如果已经知道&#xff0c;当我没说&#xff09; 一.插值表达式 1.数据绑定最常见的形式就是双大括号的文本插值&#xff0c;Mustache上属性的值替代。只要绑定的数据对象上属性发生了改变&#xff0c;插…