美文网首页前端
react-native的调试检测和监测工具方式

react-native的调试检测和监测工具方式

作者: 不伟心 | 来源:发表于2019-12-12 16:34 被阅读0次

日常开发中我们都会通过一些必要都手段进行代码的调试 和 异常情况的调试。对于react-native来说也是分为好多种,今天做一下汇总,以便日后查阅。

第一类 react-native 自带的一些调试方式

1. 红屏错误

应用内的报错会以全屏红色显示在应用中(调试模式下),我们称为红屏(red box)报错。你可以使用console.error()来手动触发红屏错误。

2. 黄屏警告

应用内的警告会以全屏黄色显示在应用中(调试模式下),我们称为黄屏(yellow box)报错。点击警告可以查看详情或是忽略掉。和红屏报警类似,你可以使用console.warn()来手动触发黄屏警告。在默认情况下,开发模式中启用了黄屏警告。可以通过以下代码关闭:

console.disableYellowBox = true;
console.warn('YellowBox is disabled.');

你也可以通过代码屏蔽指定的警告,像下面这样调用 ignoreWarnings 方法,参数为一个数组:

import {YellowBox} from 'react-native';
YellowBox.ignoreWarnings(['Warning: ...']);

在 CI/Xcode 中,黄屏警告还可以通过设置IS_TESTING环境变量来控制启用与否。

红屏错误和黄屏警告在发布版(release/production)中都是自动禁用的。

3. 我们可以通过跑模拟器进行调试,

如果是在 iOS 模拟器中运行,还可以按下Command⌘ + D 快捷键,Android 模拟器对应的则是Command⌘ + M(windows 上可能是 F1 或者 F2)调出调试弹框,我们可以选择debugging 选项进行 相关代码的调试,这个时候在浏览器中会弹出调试页面,不过并不能直接看到 App 的用户界面,而只能提供 console 的输出,以及在 sources 项中断点调试 js 脚本

4. react-devtools

通过 react-devtools 我们可以看到 App 的用户界面,调试页面dom。

npm install -g react-devtools

安装完成后在命令行中执行react-devtools即可启动此工具:

react-devtools

如果你正在使用真机调试,没关系我们可以通过监听端口进行相关页面调试:

adb reverse tcp:8081 tcp:8081

第二类 三方工具可以方便调试redux 等相关复杂型的操作( reactotron

1.基本配置

第一步
download the desktop app
第二步 把相关包引入项目

npm i --save-dev reactotron-react-native

第三步 创建config 文件

ReactotronConfig.js

相关配置如下:

import Reactotron from 'reactotron-react-native'

const ReactotronList = Reactotron
    .configure({ name: 'locatorCenter' }) // controls connection & communication settings
    .useReactNative() // add all built-in react native plugins
    .connect() // let's connect!

export default ReactotronList

第四步 在App.js (Create R
eact Native App) 或者index.js 中加入

if(__DEV__) {
  import('./ReactotronConfig').then(() => console.log('Reactotron Configured'))
}

第五 重新启动项目(这个时候你就可以看见一开始安装的桌面引用中相关的项目信息)

  • 注意 如果再真机上调试需要监听端口
adb reverse tcp:9090 tcp:9090

2 如果需要调试redux 需要 进行如下操作:

npm install --save-dev reactotron-redux

第一 重新配置ReactotronConfig.js :

import Reactotron from 'reactotron-react-native'
import { reactotronRedux } from 'reactotron-redux'
const ReactotronList = Reactotron
    .configure({ name: 'locatorCenter' }) // controls connection & communication settings
    .useReactNative() // add all built-in react native plugins
    .use(reactotronRedux())
    .connect() // let's connect!

export default ReactotronList

第二 配置redux -store文件:

import { createStore, applyMiddleware, combineReducers, compose } from 'redux'
import thunk from 'redux-thunk'
import ReactotronList from '../store/ReactotronConfig'

import mainModule from './mainModule'

const rootReducer = combineReducers({ mainModule })
const store = createStore(rootReducer, compose(applyMiddleware(thunk), ReactotronList.createEnhancer()))

export default store

最后重新 启动项目即可

第三类 relase包的情况下 收集调试异常情况,通过relase包下直接不崩溃没法看见log,这个时候就可以用 sentry 进行异常bug收集调试。

第一步 需要在sentry后台创建一个reactive的项目

第二步 引入包

npm install @sentry/react-native --save
# or
yarn add @sentry/react-native

第三步 自动进行相关配置

yarn sentry-wizard -i reactNative -p ios android
cd ios
pod install

最后 进行重启 打realse 包进行项目验证即可,在sentry后台就能监测到relase包出现的崩溃。

相关文章

  • react-native的调试检测和监测工具方式

    日常开发中我们都会通过一些必要都手段进行代码的调试 和 异常情况的调试。对于react-native来说也是分为好...

  • iOS 逆向相关

    工具:Reveal,snoop-it(监测工具) 反汇编工具:IDA / Hopper 调试工具:LLDB 开发工...

  • <安全攻防之sysctl>

    sysctl系统内核函数 sysctl用于系统的检测和控制,监测进程是否被附加或者调试.定义定时器,每几秒检测一下...

  • 1.3 iOS应用逆向工程的工具

    iOS逆向工程的工具分为四大类:监测工具、反汇编工具(disassembler)、调试工具(debugger)、开...

  • iOS逆向

    iOS逆向工程的工具可以分为四大类:监测工具、反汇编工具(disassembler)、调试工具(debugger)...

  • iOS逆向(class-dump)

    1,iOS逆向工程的工具可以分为四大类:监测工具,反汇编工具(disassembler),调试工具(debugge...

  • Linux程序调试方法汇总

    Linux下程序的调试方法汇总 在linux中讨论调试工具主要是为那些入门者提供一些帮助。调试工具能让我们能够监测...

  • iOS 越狱开发

    Reveal 实时监测目标App 的UI布局。 反汇编工具:IDE(多平台) Hopper(mac) 调试工具:L...

  • React-Native的基础知识

    工欲善其事必先利其器 关于React-Native的调试 和开发工具的使用http://blog.csdn.ne...

  • 7. 逆向工具集和安装和使用

    iOS逆向工程的工具 大致可分为四类:检测工具、反编译工具、调试工具、开发工具检测工具如:Reveal、tcpdu...

网友评论

    本文标题:react-native的调试检测和监测工具方式

    本文链接:https://www.haomeiwen.com/subject/vmstnctx.html