【发布时间】:2018-12-18 18:39:17
【问题描述】:
Chrome 开发工具和 Webstorm javascript 调试器总是会中断:
if(typeof qmLog !== "undefined"){
在下面的 javascript 文件中,即使那里没有断点。
你知道如何避免这种破坏
String.prototype.toCamelCase = function() {
return this.replace(/(\_[a-z])/g, function($1) {
return $1.toUpperCase().replace('_', '');
});
};
var qm = {
/// lots of stuff here...
};
if (typeof qmLog !== "undefined") {
qm.qmLog = qmLog;
qmLog.qm = qm;
}
//if(typeof window !== "undefined" && typeof window.qmLog === "undefined"){window.qmLog = qm.qmLog;} // Need to use qm.qmLog so it's available in node.js modules
if (typeof nlp !== "undefined") {
qm.nlp = nlp;
}
if (typeof Quantimodo !== "undefined") {
qm.Quantimodo = Quantimodo;
}
if (typeof window !== "undefined") {
window.qm = qm;
qm.urlHelper.redirectToHttpsIfNecessary();
} else {
module.exports = qm;
}
【问题讨论】:
-
在 DevTools 调试器中真的说“在断点处停止”吗?
-
我无法重现该问题。它只停在
qm.urlHelper.redirectToHttpsIfNecessary();,因为sn-p 中没有qm.urlHelper。 -
感谢您的尝试,@Barmar!确实,它确实说它已停止,我可以单击继续,但是每次尝试调试时都必须单击继续,这很不方便。这是很多,因为我制造了很多错误。
-
我猜这可以归类为黑森虫。
-
我怀疑您在以前版本的代码中设置了断点。断点是持久的,并且与行号相关联。如果你修改代码,断点仍然会在相同的行号触发,即使那里的代码已经改变。您应该会看到侧栏中列出的断点,如下面的答案所示。
标签: javascript debugging breakpoints