调试chromium的快捷方式

上一篇咱们简单的将了在Ubuntu上编译chromium,android content_shell_apk的编译,一切顺利的就能生成apk。可是咱们仅仅只是照搬了人家google开源的东西,做为一个开发者咱们应带着探索的精神,都说它稳定,速度快。它为何这么快、稳定? 带着这一系列的问题,咱们去学习理解它,去搞明白它的原理、架构。android

因此...... 程序员

一切精妙的东西最终又归结到源码上,直到咱们了解它熟悉它。怎么快速的的了解熟悉它呢?不外乎2点web

1、大量的代码阅读chrome

2、跟踪调试代码shell

今天咱们就简单的学习一下在Ubuntu下简单调试chromium代码微信

首先咱们必须弄个Debug调试版本在Ubuntu上运行调试。架构

编译步骤:微信公众平台

一、build/install-build-deps.sh框架

二、build/gyp_chromium-Dflag1=value1-Dflag2=value2函数

三、export GYP_DEFINES="flag1=value1 flag2=value2"

四、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://my.oschina.net/u/2335812/blog/398433

相关文章
相关标签/搜索