Html5 canvas 调试JS修改某些特定的画布元素

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

我正在尝试用Chrome开发者工具调试画布元素。
由此:

我可以看到有一个实验性的特性可以做类似的事情,但是被删除了


有没有办法搜索/找到负责修改特定画布元素的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行