当使用Chrome和它的JavaScript调试器时,每次我重新加载我的页面/脚本时,我的断点都会丢失,我必须在弹出窗口中找到脚本文件,找到我的断点所在的代码行,点击添加它,等等。
有没有一种方法可以保存这些断点,使其在页面刷新后中断(我使用过的其他调试器可以做到这一点)?
或者,在我的JavaScript代码中有没有一种干净的方式,我可以输入一些东西来告诉chrome开始跟踪(在一行上暂停)?
发布于 2011-11-23 22:27:17
您可以将一个
debugger;
在大多数JavaScript环境中中断。他们肯定会坚持下去。如果您正在使用生产环境中的调试器和console.log调用,那么最好有一个minifier。
在Chrome浏览器的最新版本中,在控制台面板顶部的过滤器旁边有一个“保留日志”选项。在旧版本中,右键单击空的控制台窗口将显示该选项(“导航时保留日志”)。当您没有console.log语句或硬编码的调试器调用时,它很方便。
更新:我在github上找到了一个名为chimney的工具,它接受一个文件并删除所有的console.log调用。它提供了一个关于如何删除调试器调用的好主意。
发布于 2012-02-20 22:07:16
另外,您是否使用an attached query parameter to the URL with the current Epoch time将您的JavaScript文件从服务器发送到客户端?这用于防止缓存JavaScript文件。
在这种情况下,Chrome开发人员工具似乎会在刷新后将文件解释为不同的文件,这将(正确地)删除断点。
对我来说,删除查询参数会使CDT在刷新后保留断点。
发布于 2014-04-12 03:32:41
这可能发生在你从其他脚本中动态加载或评估的脚本中?我可以说,在我发现sourceURL属性之前,这个场景真的让我很恼火。在你想要调试的脚本的最后一行放置以下特殊格式的注释将在Chrome中“锚定”它,这样它就有了一个参考框架:
//# sourceURL=filename.js
您手动放置的断点现在将在页面加载之间保持不变!该约定实际上起源于源地图规范,但Chrome至少将其作为一项独立的技术予以尊重。这是一个reference。
https://stackoverflow.com/questions/8243742
复制相似问题