Chrome开发者工具-通过函数名开始调试

12

有没有办法指定调试器仅监听特定方法名?例如:当函数myFunc被调用时,我想开始调试。是的,我知道这似乎很奇怪,但在某些项目中,我不知道要开始调试的JavaScript文件的名称,但我知道方法的名称。

它类似于事件监听器断点,但使用任意方法名称而不是事件名称。


在函数内部设置一个断点,尝试使用 debugger; - elclanrs
您可以在被调用的函数内部的行上设置断点。 - Sunny Patel
3
要做到这一点,他就必须知道它在哪个文件中。 - T.J. Crowder
1
@T.J.Crowder:好吧,他可以调试它找出问题,这真是讽刺。如果该函数是匿名的并且被压缩了,那就祝他好运了。 - elclanrs
2
@elclanrs,我开始怀疑你是否真正阅读了OP的问题。 - epascarello
2个回答

9
您可以使用搜索功能找到函数名称并设置断点。您可以使用以下按键组合在文件之间进行搜索。
  • Windows: ctrl+shift+F
  • OSX: Cmd + Opt + F

enter image description here


3
好的。我相当确定对于原帖中的问题,直接回答是“不行”,而这个方法是最佳的变通方法。如果该函数由函数声明或命名函数表达式定义,你可以在查找“function foo”时键入 tion foo,以避免命中它被使用的所有地方。(当然,这种方法对于匿名函数表达式是无效的。) - T.J. Crowder
1
这确实不是我问题的确切答案,但对于我的用例来说已经足够了,通过这个方法,我解决了调试一些在项目源代码中难以跟踪的生成JS文件的问题。 - Israel Fonseca

8

今天在搜索时,我想再添加另一种方法:您可以打开JS控制台并使用debug(Some.path.to.myFunc),它会在函数上设置调试断点。使用undebug(func)取消设置。您还可以使用monitor(func)unmonitor(func)来获得在调用该函数时的控制台日志。我是从这里了解到这些信息的:https://amasad.me/debugging


2
您可以在 https://developers.google.com/web/tools/chrome-devtools/console/api 和 https://developers.google.com/web/tools/chrome-devtools/console/utilities 找到这些命令的官方文档以及更多相关内容。 - Glenn 'devalias' Grant

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接