WebKit中是否有JavaScript控制台限制?

WebKit中是否有JavaScript控制台限制?,javascript,qt,webkit,qtwebkit,console.log,Javascript,Qt,Webkit,Qtwebkit,Console.log,我想限制JavaScript/Web Inspector控制台中的内存或条目数 除了可用和可访问的内存之外,它是否已经受到某种限制 如果没有,是否可以只清除控制台日志中最旧的条目,同时保留较新的条目,如console.clear10000 在任何JavaScript引擎中都有类似于限制或选择性清除的东西吗 问题是,我想在嵌入式web视图中记录单页应用程序中的调试信息,但不想以这种方式不断泄漏内存。虽然一些JavaScript开发工具可能实现内部限制,但WebKit的web Inspector显然

我想限制JavaScript/Web Inspector控制台中的内存或条目数

除了可用和可访问的内存之外,它是否已经受到某种限制

如果没有,是否可以只清除控制台日志中最旧的条目,同时保留较新的条目,如console.clear10000

在任何JavaScript引擎中都有类似于限制或选择性清除的东西吗


问题是,我想在嵌入式web视图中记录单页应用程序中的调试信息,但不想以这种方式不断泄漏内存。

虽然一些JavaScript开发工具可能实现内部限制,但WebKit的web Inspector显然没有,至少它没有向它公开任何文档化的接口

所以基本上有两种可行的解决方案,除了修补WebKit或者使用支持限制的工具,正如和也提到的

为各种控制台方法创建一个代理,以缓冲任何日志输出和仅在请求时转储,并限制内部缓冲区。 一个简单的环形缓冲区速度不是很快,因此另一种方法是使用两个缓冲区,其中旧的缓冲区将被丢弃,并在当前缓冲区满时被覆盖。 使用缓冲区的缺点是不能立即展开对象,只能在第一次访问时展开,这可能会丢失重要的调试数据,如果这些数据被覆盖,Qt 5的控制台会在日志记录期间展开简单的对象和数组

定期清除控制台以限制内存使用。 但是,控制台可能在错误的时间被清除


您认为dev控制台的内存使用有多重要?只是一个提示:运行var i=0;setIntervalfunction{console.log{x:i++};},5对于10000次迭代,我的内存使用量大约为80MB。这是相当多的日志,相对来说,内存量微不足道。这取决于你记录了多少,记录了多少对象和其他大的东西,记录了多长时间。。。如果某个应用程序运行了几天、几周或更长时间,您可以将计算机切换到待机状态并继续工作,而无需重新启动,或者如果我们记录了更多数据,这可能就足够重要了。一万不算多。。。考虑100000或1000000。制作自己的记录器,在request@arch你不需要克隆任何东西,因为chrome也不需要。如果您确实想保留对象内容,JSON.stringify是您最好的选择。