---
title: 调试指南
summary: "介绍小程序调试方法，包括 vConsole 开启、性能分析工具使用及客户端日志上传排查。"
questions:
  - 如何在涂鸦小程序中开启 vConsole 调试模式？
  - 性能分析工具支持哪些性能维度指标？
  - FPS 指标的优秀、良好和待改进区间分别是多少？
  - MT 指标表示什么含义，通信时间应维持在多少以下？
  - KB 指标衡量的是什么数据，如何优化？
  - 如何在 IDE 中查看客户端日志和真机调试日志？
  - App 发生异常时如何上传客户端日志进行排查？
  - 如果隐藏了右上角胶囊按钮，还有什么方式可以打开调试？
  - 使用 ty.changeDebugMode 开启调试模式需要注意什么？
  - 哪些版本的小程序支持打开调试功能？
---

# 调试指南

## 一、Vconsole

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

### 1.如何开启

- 点击小程序右上角胶囊 三个点 , 或者长按右上角 [x] 点击打开调试即可打开Vconsole。

<Image src="/images/debug/debug2.png" width="200px" />

### 2.性能分析工具

- 您可通过分析工具从宏观角度上查看小程序的运行性能，结合对应维度的数值判断性能优化点，进行优化。
- 注意： 基础库版本需大于 _2.11.0_
- 性能维度应结合对应机器设备的硬件性能进行判断。

#### 打开方式：

- 点击胶囊 三个点。 打开调试 - 点击 vConsole - 点击 【Perf】- 切换到性能工具启动页。

<Image src="/images/debug/perf.png" width="200px" />

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

<Image src="/images/debug/debug1.png" width="200px" />

<Image src="/images/debug/sample-pic.png" width="300px" />

#### 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 设置 - 关于 - 上传日志 -日志上传。
- 将日志弹窗截图和异常触发时间记录后联系涂鸦小程序团队。

<Image src="/images/debug/debug3.png" width="200px" />

## 四、常见问题（FAQ）

- Q: 在开发的过程中配置将右上角胶囊隐藏了，还有别的方式打开调试吗？
  - 可通过 [changeDebugMode](/cn/miniapp/develop/ray/api/other/changeDebugMode)来设置调试模式。
    小程序原生开发使用`ty.changeDebugMode`。
  - 需要注意，在上线时关闭。

  ```js
  ty.changeDebugMode({
      isEnable: true,
      success: function () {
        console.log('success')
      },
      fail: function (e) {
        console.log('fail', e)
      }
    })
  ```

- Q: 为什么有的小程序长按没有打开调试的入口？
  - 目前仅预览版和体验版小程序支持打开调试功能，线上版本小程序不支持。
