网页偶现性崩溃-chrome
简介:
项目前台框架:Angular2 + Bootstrap(日期等组件) + Echarts + 响应式(包括页面、字体缩放:rem)
chrome版本:多个版本测试均有此问题。
表现:
- 订单详情页面崩溃(喔唷,崩溃啦!显示此网页出了点问题) F12中Network提示:Debugging connection was closed.Reason:Render process gone. Reconnect when ready by reopening DevTools.
- 查看具体xhr请求,两种状态;a.状态 200 ok,无返回,该页面其他请求也均无返回;b.请求一直在pending,无返回。
- 控制台无报错。
重现规律:
- 初步:未支付的订单,从订单列表页面进入到订单详情页会出现此问题。
- 深度:订单列表页面状态为waiting Payment或者In Process状态的订单。
定位思路:
- 据表现2,后台定位,无问题,打印数据已查出;
- filter层定位(是否filter出问题无返回),filter查看打日志,定位,均无报错,无发现问题;
- 据表现“Debugging connection was closed.Reason:Render process gone. Reconnect when ready by reopening DevTools”查询,可能是文件大小,或者什么导致,与后台确认,返回json不是特别大。
https://stackoverflow.com/questions/46855911/getting-error-debugging-connection-was-closed-reason-render-process-gone中 render process ended给了思路,是什么导致render process ended?方向应该是前台渲染
- 查询chrome《网页崩溃原因》,有没有什么导致内存泄露?检查代码
- 订单详情页面查看代码,没有发现可能导致内存泄露的代码。试着注释掉对于后台返回数据的接收,发现后台有返回了!!!注:是否因为数据量过大(ng2的数据绑定)导致页面渲染出现问题?
- 对后台返回数据重新进行处理,拆分,及时释放不用的变量。注:问题还是存在,可以确定不是数据量多大,ng2框架渲染问题。排除应该为数据原因触发。
- postman取出一个订单,未支付、支付两种状态的数据,对比,发现几个字段不同。对于未支付订单,后台接收到数据之后逐一更改,发现status字段改动为支付状态的值,问题会好。注:追踪前台对这一字段做何处理?发现为调用一公共进度条组件导致。
- 断点跟踪该公共组件,发现其中一段代码该状态下进入死循环。改动此代码,测试waiting Payment或者In Process状态下网页是否ok,确实ok,可确认问题由此死循环导致。
网页偶现性崩溃-chrome的更多相关文章
- 偶现bug如何处理?
请先允许我对此类bug进行吐槽,相信做测试的同学都碰见过这种bug! 我们在测试过程中经常会碰见一类很头疼的bug,就是偶现性的bug,所谓偶现性,是相对于必现而言,这类bug有些可以有重现路径,但是 ...
- Ubuntu16.04下写的Qt程序,调试时没问题,运行时偶现崩溃 (需要在运行时生成core dump文件,QMAKE_CC += -g)
记录一下 Ubuntu16.04下写的Qt程序,调试时没问题,运行时偶现崩溃 需要在运行时生成core dump文件 首先在pro结尾里加入 QMAKE_CC += -g QMAKE_CXX += - ...
- 程序员的踩坑经验总结(一):如何把Bug的偶现变必现
程序员的踩过的坑也是可以分类的,很常见又很难解决的一类是偶然的现象,表现起来比较怪异. 而把一个问题Bug的偶现变成必现,是开发人员的一种能力.我认为也应该是测试人员的一种能力,但是各个公司要求不一样 ...
- CAT偶现NPE的问题
1.背景 我们公司的调用链系统是基于大众点评的CAT客户端改造的,服务端完全有自己设计开发的.在是用CAT客户端收集dubbo调用信息的时候,我们发现了一个CAT偶现NPE的bug,该bug隐藏的很深 ...
- 【Golang】嗅探抓包,解决线上偶现问题来不及抓包的情况
背景 测试群里经常看到客户端的同学反馈发现了偶现Bug,但是来不及抓包,最后不了了之,最近出现得比较频繁,所以写个小脚本解决这个问题. 实现思路 实现的思路比较简单: 抓包 存日志 做日志管理 具体实 ...
- 15个网页设计必备的Google Chrome 扩展
2011年第一篇,翻译自freelancefolder的一篇文章.以下为译文内容: 最近,我将Google Chrome作为了我的主力浏览器,同时,将其作为我设计和开发网页的工具,尽管我还时常会去Fi ...
- 网页console console.log 用法 Chrome F12
#########sample 0 https://www.cnblogs.com/xiaozong/p/4961929.html https://blog.csdn.net/shanliangliu ...
- 小程序部分机型上一个诡异的偶现bug
如上图所示:开始的时候进到下单页面,价格是0,当选中了商品产生价格的时候,生成的价格如 ¥150,这个时候会只露出¥1以及一小半的5,后面的都被遮挡住了. wxml里是这样的写的 <view w ...
- AF引起的camera偶现卡顿问题
相关log如下: 01-01 08:04:26.299 867 3220 E Camera2Client: syncWithDevice: Camera 0: Timed out waiting sy ...
随机推荐
- python学习Day14 带参装饰器、可迭代对象、迭代器对象、for 迭代器工作原理、枚举对象、生成器
复习 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.返回内部函数对象----> 延迟执行, 开放封闭原则: 功能可以拓展,但源代 ...
- Game Engine Architecture 6
[Game Engine Architecture 6] 1.Data-Parallel Computations A GPU is a specialized coprocessor designe ...
- linux查看Java线程
一.查看Java进程pid的方式 1. ps命令 ps -ef | grep java 2. jvm自带的 jps 工具 3. 当然还有其他命令也可以显示 netstat ,top 二.查看Java线 ...
- svn仓库迁移
注意事项 1.仅迁移代码.日志.版本信息,(用户.权限.配置即conf目录需要手动移动或重新配置) 2.新仓库需无代码,即新建仓库后不要进行上传操作,否则迁移可能造成冲突,导致迁移失败 操作步骤 1. ...
- React-Native android 开发者记录
1.安装 安装步骤不多废话,按照官网步骤执行即可 安装完之后,react-native run-android发现报错,页面出不来 Error: Unable to resolve module `. ...
- 【Spring学习】SpringMVC demo搭建
前言:今天会通过IDEA建立一个SpringMVC的demo项目,在其中会涉及到一些基础模块和相关知识,然后结合这个具体的知识点,理解清楚SpringMVC的框架原理(以图的形式展示),顺藤摸瓜分析源 ...
- TZOJ 5694 区间和II(树状数组区间加区间和)
描述 给定n个整数,有两个操作: (1)给某个区间中的每个数增加一个值: (2)查询某个区间的和. 输入 第一行包括两个正整数n和q(1<=n, q<=100000),分别为序列的长度和操 ...
- Ubuntu配置ORB-SLAM2过程中的问题
https://www.imooc.com/article/details/id/29136 1. 提示“CMAKE_CXX_COMPILER-NOTFOUND ” 具体形式: Check for w ...
- 理解javascript中的立即执行函数(function(){})()
之前看了好多代码,都有用到这种函数的写法,但是都没认真的去想为什么会这样写,今天开始想学习下jquery的源码,发现jquery也是使用这种方式,用(function(window, undefine ...
- git tag 查看标签列表、切换标签
1.查看标签列表 git tag 2.切换标签(需要指定分支 test 为分支.v0.17.7 为标签版本) git checkout -b test v0.17.7