前端怎么debugger排查线上问题

1.问题背景

主要是我这边在浏览器放到150%时样式有些问题,我需要去调整这一块的样式,但是!!!!这一块的内容是hover才会显示出来的(代码做的效果),如果移除了那么就会消失,这问题就导致我使用f12然后选择元素的时候一直选择不到。

我相信大家肯定遇到过,然后也被折磨的很难受,今天就教你怎么处理这种问题

2.问题详细说明

image.png
image.png
所以当我想去用f12的调试工具来选择这个盒子里面的元素的时候怎么选都选择不到,简直要崩溃

3.处理方案

百度:浏览器js断点调试 sourcemap js设置断点调试步骤

你会得到这个答案:用chrome浏览器打开页面 → 按f12打开开发者工具 → 打开Sources → 打开你要调试的js代码文件 → 在行号上单击一下

看是真的很简单,但是真的让你自己去处理的时候,你会发现怎么找都找不到应该对应调试的代码在哪一段,然后就更不知道断点应该打在哪里了,就很崩溃。

这里我分为开发环境和生产环境,教你怎么找文件,然后打断点

a.开发环境怎么找,步骤一样的:

用chrome浏览器打开页面 → 按f12打开开发者工具 → 打开Sources,正常你会走到这个图
image.png
然后怎么找代码呢? 你可以在这个显示逻辑这里,写一个console,然后去触发事件,控制台就会有相应的输出,你就可以从这里进去了。
image.png
你也可以通过这里的控制台来找到源文件
image.png
image.png
怎么加断点呢?
不要在自己的vscode上加,这样子是没有用的,因为vue项目在开发环境运行时会把这个debugger去掉
image.png
你应该在刚才找到的源文件数字行号这里点一下
image.png
image.png
image.png
image.png

b.生产环境怎么找,步骤一样的:

用chrome浏览器打开页面 → 按f12打开开发者工具 → 打开Sources,正常你会走到这个图
image.png
生产环境怎么找到文件的位置呢?(source-map开启的话,你就能看源文件,不开启也能找到,但是看的是打包后的代码,不介意的话也可以看)
最简单:换个思路,我们也可以发个console.log()上去,然后按照开发环境上面的一样去寻找就可以了。。
你也使用你的vscode找到hover时执行的事件(比如我这个事件叫dropdownCtrl)
image.png
ctrl+f查找你要找的函数,能找到的js就说明函数在这个js文件呢,你就可以打断点了。
image.png

还有一种情况就是你的子盒子是使用csshover父盒子出来的,

那么只需要你在父盒子上使用浏览器工具给这个父盒子添加一个hover状态就能出来了
image.png

4.demo地址:

https://github.com/rui-rui-an/how_to_debugger

5.更新

经评论区高人指点,如果需要维持hover状态的话,这样子更加的简单: f12打开浏览器控制台 -> 执行setTimeout(() => {debugger}, 3000),然后hover,延时进入debugger就可以选中了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值