上一篇我们简单的将了在Ubuntu上编译chromium,android content_shell_apk的编译,一切顺利的就能生成apk。但是我们仅仅只是照搬了人家google开源的东西,作为一个开发者我们应带着探索的精神,都说它稳定,速度快。它为什么这么快、稳定? 带着这一系列的问题,我们去学习理解它,去搞明白它的原理、架构。
所以......
一切精妙的东西最终又归结到源码上,直到我们了解它熟悉它。怎么快速的的了解熟悉它呢?不外乎2点
1、大量的代码阅读
2、跟踪调试代码
今天我们就简单的学习一下在Ubuntu下简单调试chromium代码
首先我们必须弄个Debug调试版本在Ubuntu上运行调试。
编译步骤:
1、build/install-build-deps.sh
2、build/gyp_chromium-Dflag1=value1-Dflag2=value2
3、export GYP_DEFINES="flag1=value1 flag2=value2"
4、ninja-v-Cout/Debug chrome
编译成功后会在src/out/Debug 下生成300个左右文件其中有chrome可执行程序和库。
调试:
调试多进程最简单的方法是用 attach pid
shell下:gdb src/out/Debug/chrome 启动到gdb输入后用 r -no-sandbox (沙箱模式无法运行,有待研究)
ps -ax 查看进程id
或者用pstree -p|grep chrome
再新打开的shell输入sudo gdb (有权限限制必须用root权限)
gdb启动后输入attach pid 然后加上你要调试的断点
我们调试RenderImage.cpp layout 函数在绘制进程中调用堆栈
有了函数调用堆栈顺序,你有不理解不清楚的地方加个断点,查看堆栈一切都这么简单。
Debug调试只能起到辅助作用,学习还是需要我们理解框架、大量阅读源码。
如果大家对本系列文章有疑问,可以直接在公众号留言,小编第一时间联系原创作者帮你耐心解答。
技术人员都有自己的情怀,深陷其中而不被理解,欢迎关注个人微信公众平台:程序员互动联盟(coder_online),一天一篇大牛的技术原创,一个开发人员的家,来诉说自己的故事。
相关推荐
chromium 系统有多个平台的实现,而每个平台都有自己不同的事件管理方式,chromium 也会有一些平台相关的代码。本文目前主要是研究 Linux 平台相关的实现,其他平台后续 再做研究。 chromium 中的事件也有许多类型,...
chromium命令行参数1
ungoogled-chromium是Google Chromium,不依赖于Google Web服务。 ungoogled-chromium尽可能保留默认的Chromium体验。与其他具有Web浏览器愿景的其他Chromium分支不同,ungoogled-chromium本质上是Chromium的直接...
chromium-linux.zip
调试chromium浏览器内核,迅速查找文件。支持上百万文件快速浏览,查找。只要将文件打开安装,在目录下配置即可。
该文件属于Chromium 58版本的编译配置文档,其中,包含每一项参数的说明。 请注意,该文档是通过gn args --list out/debug生成的,如果你已下载Chromium源码,可以手动生成,不必下载。
SwitchyOmega-Chromium
chromium离线安装版49 x86 32位windows xp 2003 亲测好用.chromium 不会默认上传您的用户数据,且性能比同版本chrome强10%。差不多可以说算得上是xp 2003 下最好用的 浏览器了
SwitchyOmega_Chromium插件
LICENSES.chromium
并且能创建桌面以及程序菜单快捷方式。不过设置默认浏览器之后,程序所在文件夹不能改名或者删除;附加了一些常用的浏览器插件。其中有一些插件默认是停用的,如果需要的话,随时启用即可。“清除所有个人信息与...
Chromium Nightly Updater 1.1
SwitchyOmega_Chromium.crx
Chromium浏览器官方版是一个由Google主导开发的网页浏览器,Chromium浏览器官方版是Google为发展Google Chrome而开启的计划,所以Chromium浏览器相当于Chrome的工程版或称实验版,新功能会率先在Chromium上实现,待...
Chromium离线安装包,适用于树莓派。我的博客中有教程。
chromium开发教程.docx
断断续续下载chromium代码花了1周左右,代码约15G左右,其中遇到power shell的问题,遇到python的问题。最终编译花了11:30分。相比于Linux下的编译慢很多,系统运行的稳定性和速度也差很多。打算研究源码,一起分享...
使用AndroidStudio调试Chromium Android 建立过程 Android Studio作为开发环境,从Chromium for Android从chrome模块源代码加入Android项目。 在Chrome环境中构建本机代码,因此将文件加入Android项
Chromium网页渲染技术,更多信息点击进入:http://0xcc0xcd.com
SwitchyOmega_Chromium.zip