zoukankan      html  css  js  c++  java
  • 如何调试Blink?

    1239390617156488

    内容

    尽管有很多工具和技巧可用于调试Blink,这个文章的重点调试Blink除布局測试之外的feature。

    1 介绍
    2 Linux
    2.1 入门
    2.2 启动Debugger
    3 实用的工具
    3.1 Debugging functions
    3.2 Blink GDB python library
    4 打印 back trace
    4.1 利用ASSERT打印符号
    4.2 Use Chromium's StackTrace
    4.3 利用BACKTRACE() 打印符号

    主要有两种途径进入Blink:通过调试Chromium二进制文件本身或content_shell。Blink调试大多数情况,后者是建议的选项。由于它大大降低了尺寸和复杂性。这意味着我们须要build content_shell,相比較而言,这应该更简单、使之成为我们构建目标的更简单的方法。

    把content_shell本身作为參数。后面跟着要执行Blink的HTML文件,这样来执行content_shell。

    此外,最简单的类型调试是:你可能想要做的一个是看看页面载入后的主要的页面结构(在这Blink的内部结构被称为布局树。不要与DOM树或Frame树混淆了:)。

    你能够用一个简单的命令行选项做到这一点:
    content_shell --dump渲染树的test.html

    启动调试器

    调试Linux上的content_shell通经常使用GDB完毕。如果你正在使用content_shell,你可能会想在单进程模式下执行,当然。除非,你正在处理线程问题。

    单进程模式下执行将极大地简化设置,并加快调试过程。这样做非常easy。仅仅要用--single进程标志启动content_shell。


    一个常见的​​GDB命令是:
    gdb --args content_shell --single-process test.html
    假设您无法使用--single-,你能够使用--renderer-启动-对话框来取代。仅仅需content_shell与正常运​​行的标志,你通过它以及--renderer-启动,对话框渲染器将处于暂停状态,并同意您在继续执行之前附加一个调试器。
    一般实用的调试工具

    调试功能

    您能够使用GDB命令打印显示它们。以下是一些Blink的调试功能:

    showTreeForThis()节点和LayoutObjects输出DOM树
    showLayoutTreeForThis()LayoutObjects输出布局树
    showLineTreeForThis()LayoutObjects和InlineBoxes输出的内框树关联的block flow。标志着与此相关的一个全部匹配的行内框。
    showDebugData()DisplayItemLists输出的显示项目的列表和相关联的调试数据

    如果一个局部变量child是一个LayoutObject,以下将打印布局树:
    (GDB)print child> showLayerTreeForThis()
    Blink GDB Python库

    当使用支持Python中的GDB。还有有用的功能,能够使一些Blink的类型更easy、更方便输出,比如LayoutUnit和LayoutSize类美丽的打印出来。我们能够在third_party/ WebKit的/工具/ GDB / webkit.py找到它。

    阅读原文

    本文属原创,转载请注明出处。违者必究

    关注微信公众平台:程序猿互动联盟(coder_online)。你能够第一时间获取原创技术文章。和(java/C/C++/Android/Windows/Linux)技术大牛做朋友。在线交流编程经验。获取编程基础知识。解决编程问题。程序猿互动联盟。开发者自己的家。

    编程菜鸟入门必备书籍

  • 相关阅读:
    端口被sysmtem占用
    windows 服务器恢复选项恢复
    服务端相关知识学习(二)之Zookeeper可以干什么
    服务端相关知识学习(一)之什么是zookeeper
    whistle学习(二)之启动、停止、重启、更新whistle等命令
    whistle学习(一)之安装、使用、软件功能了解
    动画方案 Lottie 学习(二)之实战
    动画方案 Lottie 学习(一)之基础
    移动端真机debug调试神器 vConsole学习(二)之实战
    移动端真机debug调试神器 vConsole学习(一)之基础
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7068798.html
Copyright © 2011-2022 走看看