我正在为 Mozilla Firefox 开发一个 javascript 分析器,它可以让我获得有关页面上脚本执行的所有可用信息(DOM 对象调用、事件、对 Math.random() 等函数的调用、文档和导航器对象调用,以及代码自己的带有参数的执行树等)。
目前,我认为实现这种分析器的最佳方法是修改 Firefoxe 自己的源代码。
一种解决方法是找到相应方法调用的所有实现并在那里添加分析器日志调用。但是这种方法有两个问题:
方法和对象非常分散,目前我对源代码还不是很熟悉。跟踪所有功能并确保分析器按预期工作将花费大量时间
当以这种方式创建时,当 Firefox 源代码随着时间的推移而发展时,探查器将难以维护。
所以我想知道,如果 Firefox 源代码中有一个类/一小组关键类,可以对其进行修改以允许我收集我想要的信息?还是有更好的方法来做我需要做的事情?