上一篇我们简单的将了在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),一个开发人员的家,来诉说自己的故事。
分享到:
相关推荐
http接口,谷歌浏览器调试插件。。
网上看到了一个关于浏览器调试的文章,我整理成了文档希望对大家有用
Vue.js devtools 6.1.4,Vue3谷歌浏览器调试工具。开发vue3必备开发工具,跟踪数据便于调试,解决数据问题。
JetBrains IDE Support 是一款谷歌浏览器上进行开发调试用的插件。支持HTML/CSS/JavaScript编辑和 JavaScript 调试。
vue谷歌浏览器 调试插件
vue超级季好用的谷歌浏览器调试工具,可以直接查看节点内容、vuex数据准状态情况
下载成功后,将.crx后缀修改成.zip,然后直接将zip压缩包直接拖拽到谷歌浏览器的扩展程序
谷歌浏览器调试插件
谷歌浏览器通过扩展安装vue浏览器插件,提高调试;vue插件;chrom 浏览器插件;
chromedriver 适用于chrome谷歌浏览器版本(105.0.5195.52...谷歌浏览器驱动主要用于selenium自动化操作,Python调试脚本。 该资源包含linux,mac,Windows三个系统版本。 解压对应的zip压缩包即可,经测试可正常使用。
该资源包括vue2.0-devtools谷歌浏览器调试工具和vue3.0-devtools谷歌浏览器调试工具,具体安装方法参考我的博客https://blog.csdn.net/dxnn520/article/details/121088688,如还不会,可私信我。
chromedriver 适用于chrome谷歌浏览器版本(105.0.5195.19...谷歌浏览器驱动主要用于selenium自动化操作,Python调试脚本。 该资源包含linux,mac,Windows三个系统版本。 解压对应的zip压缩包即可,经测试可正常使用。
chromedriver 适用于chrome谷歌浏览器版本(99.0.4844.51...谷歌浏览器驱动主要用于selenium自动化操作,Python调试脚本。 该资源包含linux,mac,Windows三个系统版本。 解压对应的zip压缩包即可,经测试可正常使用。
chromedriver 适用于chrome谷歌浏览器版本(104.0.5112.29...谷歌浏览器驱动主要用于selenium自动化操作,Python调试脚本。 该资源包含linux,mac,Windows三个系统版本。 解压对应的zip压缩包即可,经测试可正常使用。
vue_devtool调试小工具
chromedriver 适用于chrome谷歌浏览器版本(93.0.4577.63...谷歌浏览器驱动主要用于selenium自动化操作,Python调试脚本。 该资源包含linux,mac,Windows三个系统版本。 解压对应的zip压缩包即可,经测试可正常使用。
谷歌浏览器console调试,有了它,开发前端的速度可提升一倍以上谷歌浏览器console调试,有了它,开发前端的速度可提升一倍以上
谷歌浏览器 chrome vue 调试插件 vue-devtools chrome(谷歌浏览器)vue代码调试插件, 已打包。解压后,通过chrome扩展程序加载即可使用。 使用方法: 1、chrome浏览器输入地址“chrome://extensions/”进入扩展...
谷歌浏览器插件+AdvancedRestClient+Http Rest API测试调试
最好的开发调试浏览器chrome,还需要一个json数据格式化展示插件