`
yistn
  • 浏览: 7325 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

如何简单快速调试高大上的谷歌浏览器

阅读更多
上一篇我们简单的将了在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接口,谷歌浏览器调试插件

    http接口,谷歌浏览器调试插件。。

    vue2.0-devtools谷歌浏览器调试工具和vue3.0-devtools谷歌浏览器调试工具

    该资源包括vue2.0-devtools谷歌浏览器调试工具和vue3.0-devtools谷歌浏览器调试工具,具体安装方法参考我的博客https://blog.csdn.net/dxnn520/article/details/121088688,如还不会,可私信我。

    谷歌浏览器及谷歌浏览器驱动

    谷歌浏览器(Chrome)是全球广泛使用的网络浏览器,以其快速、安全和用户友好的特性而闻名。版本125.0.6422.41是64位系统的正式版本,它提供了诸多优化和更新,旨在提升浏览体验和性能。 在IT测试领域,谷歌浏览器...

    谷歌浏览器 chrome vue 调试插件 vue-devtools 及源码

    谷歌浏览器 chrome vue 调试插件 vue-devtools chrome(谷歌浏览器)vue代码调试插件, 已打包。解压后,通过chrome扩展程序加载即可使用。 使用方法: 1、chrome浏览器输入地址“chrome://extensions/”进入扩展...

    谷歌浏览器老版本,谷歌浏览器41版本,Chrome41

    谷歌浏览器(Google Chrome)是一款由谷歌公司开发的免费网页浏览器,以其快速、稳定和安全而闻名。在技术领域,尤其是在软件开发和测试中,经常需要使用不同版本的浏览器来确保应用兼容性和功能的一致性。"谷歌浏览...

    vue谷歌浏览器 调试插件

    vue谷歌浏览器 调试插件

    Vue超级好用的谷歌浏览器调试工具

    vue超级季好用的谷歌浏览器调试工具,可以直接查看节点内容、vuex数据准状态情况

    谷歌浏览器下载

    谷歌浏览器稳定版,该浏览器支持javascript程序的调试,资源快速下载等功能

    基于C# 开发的 嵌入谷歌浏览器.zip

    在本项目中,“基于C# 开发的 嵌入谷歌浏览器.zip”是一个涉及使用C#编程语言开发的软件,其核心功能是嵌入谷歌浏览器(Google Chrome)的Web控件,实现一个自定义的浏览器界面。这个项目可能是学生进行毕业设计或...

    谷歌浏览器网页翻译插件

    谷歌浏览器网页翻译插件是Chrome浏览器的一个强大辅助工具,它使得用户可以轻松地在不同语言的网页间自由切换,无需离开当前页面或手动查找在线翻译服务。这款插件的使用大大提高了浏览多语言网站的便利性,尤其对于...

    谷歌浏览器vue插件vue-devtools

    这个插件可以在谷歌浏览器(Chrome)中安装,帮助开发者调试、检查和优化Vue应用。 Vue Devtools 提供了以下主要功能: 1. **组件树**:在Vue Devtools的“Components”面板中,你可以查看应用的组件结构。每个...

    谷歌浏览器F12汉化版

    谷歌浏览器,全称为Google Chrome,是一款由谷歌公司开发的免费网页浏览器。自2008年发布以来,它因其简洁的界面、强大的性能以及对Web标准的出色支持而备受用户喜爱。这款浏览器不仅在普通用户中流行,还因其内置的...

    QTP支持谷歌浏览器插件

    【QTP支持谷歌浏览器插件】 QuickTest Professional(QTP),现称为UFT(Unified Functional Testing),是一款由HP(现在是Micro Focus)开发的自动化测试工具,主要用于功能和回归测试。它提供了对多种应用程序和...

    谷歌浏览器插件-json格式解析

    标题中的“谷歌浏览器插件-json格式解析”指出我们要讨论的是一个专为谷歌浏览器设计的插件,其主要功能是解析JSON(JavaScript Object Notation)格式的数据。JSON是一种轻量级的数据交换格式,常用于Web服务与...

    谷歌浏览器安装包.rar

    谷歌浏览器(Google Chrome)是一款由谷歌公司开发的网络浏览器,以其高效、稳定和安全性而备受用户喜爱。这款64位的稳定版谷歌浏览器是专为提高性能和兼容性设计的,能够提供流畅的网页浏览体验,同时内置了Flash...

    谷歌浏览器 webstorm 网页开发调试插件

    谷歌浏览器的WebStorm网页开发调试插件,全称为"JetBrains IDE Support",是由知名软件开发公司JetBrains推出的一款高效工具。这款插件专为提升前端开发者的工作效率而设计,尤其适用于那些使用WebStorm作为主要集成...

    谷歌浏览器安装包.zip

    谷歌浏览器,全称为Google Chrome,是一款由谷歌公司开发的免费网页浏览器。自2008年发布以来,凭借其简洁的界面、卓越的性能以及强大的安全性,迅速成为了全球最受欢迎的浏览器之一。69版是谷歌浏览器的一个特定...

    modheader 谷歌浏览器修改请求token插件

    下载成功后,将.crx后缀修改成.zip,然后直接将zip压缩包直接拖拽到谷歌浏览器的扩展程序

    谷歌浏览器自动化测试版113.0.5672.0(包含linux,windows32/64,mac三个版本,不会自动更新)

    谷歌浏览器(Google Chrome)是全球广泛使用的网络浏览器,以其快速、稳定和安全性著称。自动化测试版113.0.5672.0是谷歌浏览器的一个特殊版本,主要针对开发者和测试工程师,用于在发布正式版本之前验证功能、性能...

Global site tag (gtag.js) - Google Analytics