WebKit之log调试

本文介绍了在WebKit中进行log调试的方法,重点讲解了WTFLogChannel的使用,包括WTFLog函数、LOG宏、WTFLogChannel结构体及其控制开关。通过引入WebKitLogging.h和Logging.h,开发者可以方便地进行日志输出,从而更好地理解和调试WebKit的复杂逻辑。
摘要由CSDN通过智能技术生成

WebKit之log调试

       WebKit代码量较大,很多逻辑非常复杂,光使用断点调试,可能不能更直观看到想要观察的数据。一方面对于一些嵌套非常强的逻辑,例如:递归等,使用断点调试很难直观看到相互关系,WebKit中一个典型的递归应用就是对于render树等树形结构的的遍历,比如我们要打印出一个render树的各个节点,要直观的看到其结构,就需要使用Log另外一方面WebKit中很多对象巨大,变量隐藏很深,比如嵌套5,6个基类,并且还有智能指针的包裹,使得使用vc展开观看非常麻烦,所以传统的log打印对于我们来说仍然需要。 这里介绍webkit log打印部分,工程来自webkit.org下载的vc工程,在windows上编译通过。
        可能使用者第一反应就是使用stdio里面的一些printf方法等,还有就是c++的cin,cout等,经笔者尝试都是徒劳的,不能显示出来。进一步研究发现,webkit在wtf里面专门做了打印的相关包装。WTF是一个子工程,其主要为WebKit提供各种基础工具,这里封装了,著名的智能指针,断言,log输出,内存分配管理,甚至重写了一套独立的容器类,比如hashmap,hashSet,Vector等,其中最为重要是智能指针的实现。其输出为\WebKitBuild\lib。
        WTF里面Assertions.cpp提供了log输出的功能函数,其包装了vprintf_stderr_comm

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值