一、anonymous类型的debugger解决:
1.先输入:
(function(){}).constructor === Function
如果返回true则继续输入,返回false不适用。
2.再输入:
Function.prototype.constructor = function(){}
二、为单个debugger存在:
鼠标右键,然后选择“一律不在此处暂停”,然后F8跳过即可。
三、过new Date()类型的debugger:
1.第一种方法(重写toString):
(function() {
// 保存原始的 toString 方法
var originalToString = Function.prototype.toString;
// 重写 toString 方法
Function.prototype.toString = function() {
var originalCode = originalToString.call(this);
// 检查并移除 debugger 语句
var modifiedCode = originalCode.replace(/debugger;/g, '');
return modifiedCode;
};
// 假设这是要绕过的原始函数
var originalFunction = function() {
var a = new Date();
debugger;
return new Date() - a > 100;
};
// 测试重写后的函数
console.log(originalFunction.toString());
console.log(originalFunction());
})();
2. 第二种方式(某数):
替换的方式来覆盖原来的代码
(1):替换debugger
(2):选择条件断点
(3):添加条件代码
_$fQ[2] = _$fQ[2].replace("debugger;"," ");
3.第三种方式(eval执行):
eval_ = eval;
eval = function(a){if(a=='debugger'){return ''}else{return eval_(a)}}
四、万能过debugger
(1):禁用所有断点
(2):再点击断点执行,就可以了
(3):效果
创作不易求个赞再走~~~
学习交流QQ:450297392