Webkit内核的学习

       想要学习Webkit内核,首先需要的就是了解Webkit的机制,主要是用来干嘛的。WebKit是一个开源的浏览器网页排版引擎,包含WebCore排版引擎和JSCore引擎。WebCoreJSCore引擎来自于KDE项目的KHTMLKJS开源项目。Android平台的Web引擎框架采用了WebKit项目中的WebCoreJSCore部分,上层由Java语言封装,并且作为API提供给Android应用开发者,而底层使用WebKit核心库(WebCoreJSCore)进行网页排版。

1.学习webkit内核的第一步就是下载官方的webkit源码;

2.想要真正的学习还要先编译webkit,编译的流程可以编写一个脚本文件直接执行;

3.在编译好webkit环境之后,我们就可以开始研究学习webkit的源码了;

  在开始学习Webkit内核之前,我认为还需要掌握两个概念:

  GTK是什么,什么作用?GDB是什么,什么作用?

  GTKGIMPToolkit)是一套用于创建图形用户界面的工具包。GTK实质上是一个面向对象的应用程序接口(API)。尽管完全用C 写成的,但它是基于类和回调函数(指向函数的指针)的思想实现的

想要学习好webkit内核,那么必须掌握对于webkit的调试,我们利用gdb进行调试(为什么要调试webkit呢?是因为webkit内核的源码庞大并且逻辑复杂,利用gdb调试的作用就是熟悉源码的整个流程,确定一定的代码范围,简而言之调试定位代码。)

  那么想要学习Webkit,必然得先掌握gdb的使用。下面介绍一下GDB常用的命令

  下面介绍一下GDB常用的命令:

  • qquit 退出GDB

  • rrun  运行程序

  • ccontinue 继续运行至下一个断点

  • sstep 单步跟踪,会进入每一个函数调用

  • nnext 执行下一步,不会进行函数

  • ENTER(回车) 重复上一命令

  • bbreak 设置断点

  • ddelete 删除断点,不带参数则删除所有断点

  • hhelp 显示帮助信息

  设置断点

可以用以下方法设置断点:

  • b filename:lineno,如FrameLoader.cpp:1515

  • b filename:function,如FrameLoader.cpp:loadWithDocumentLoader

  • b namespace::class::func,如WebCore::FrameLoader::load



到了现在,学习Webkit内核的前期准备工作算是做好了,接下来就要开始漫长的源代码的熟悉研究,耐得住寂寞,就能成为技术大神。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值