Html5 canvas 调试JS修改某些特定的画布元素
我正在尝试用Chrome开发者工具调试画布元素。Html5 canvas 调试JS修改某些特定的画布元素,html5-canvas,google-chrome-devtools,javascript-debugger,Html5 Canvas,Google Chrome Devtools,Javascript Debugger,我正在尝试用Chrome开发者工具调试画布元素。 由此: 我可以看到有一个实验性的特性可以做类似的事情,但是被删除了 有没有办法搜索/找到负责修改特定画布元素的JS代码?通过这种方式,我们至少可以在JS中添加断点。事件侦听器断点部分允许您在创建画布上下文时暂停。但我看不到任何在修改画布时暂停的断点 如果在页面加载后修改了画布,则可以在控制台中运行如下操作: const context = $("canvas").getContext("2d"); for (const key in conte
由此:
我可以看到有一个实验性的特性可以做类似的事情,但是被删除了
有没有办法搜索/找到负责修改特定画布元素的JS代码?通过这种方式,我们至少可以在JS中添加断点。事件侦听器断点部分允许您在创建画布上下文时暂停。但我看不到任何在修改画布时暂停的断点 如果在页面加载后修改了画布,则可以在控制台中运行如下操作:
const context = $("canvas").getContext("2d");
for (const key in context) {
if (context[key] instanceof Function) {
// debug() pauses on the first line of the function whenever it's called.
// This function is only available from the DevTools Console:
// https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference#debugfunction
debug(context[key]);
}
}
然后触发修改
如果发生在页面加载时,只需在画布修改之前运行的脚本中的某个位置添加断点,在暂停时在控制台中运行上面的代码,然后继续执行脚本
您可以在此演示中尝试工作流:我找到了一个解决方法:覆盖CanvasRenderingContext2D中的函数,并添加一个“调试器”;每次调用时都要停止的行(或添加一些额外条件停止)chrome开发工具中有一个搜索,这就是你所需要的吗?@HelderSepu是的,但是如果有多个大的JS文件(并且缩小了!),那么很难找到方法。我希望类似事件侦听器断点的东西能够在修改画布时自动检测JS行