[V8]使用VS Code调试V8代码

[V8]使用VS Code调试V8代码

最近在做一些v8的项目开发,其中需要调试一些代码,但是总是打印log的效率太低,所以研究了一下如何在vscode上调试v8代码. 使用vscode打开v8的源代码,在v8的目录下创建.vscode的目录,该目录是存放vscode的配置信息. 新建launch.json { "version": "0.2.0", "configurations": [ { "name": "
[算法]堆排序 [算法]堆排序

[算法]堆排序

堆排序的主要步骤分为三部分: 建堆 维持堆的性质 排序 首先是建堆,建堆的主要目的是建立一个最大堆,这样我们就可以保证堆顶的元素一定是这个数组中最大的元素. void buildHeap(int *array, int size) { for (int i = size / 2; i >= 0; i--) { maxHeapify(array, i,
[翻译]Blink是如何工作的(未完) [翻译]Blink是如何工作的(未完)

[翻译]Blink是如何工作的(未完)

在Blink上工作不是件容易的事.Blink有很多专有的概念,并且有一套为了实现快速渲染引擎而引入的编码规范,这个对于新开发者来说并不是易事.即使是经验丰富的Blink开发人员也不容易,因为Blink非常庞大,对性能,内存和安全性极为敏感. 这篇文档的目的是帮助Blink的开发者快速熟悉架构: 该文档并不是讲述Blink的详细架构和编码规则教程.相反,该文档简明的描述了Blink的短期内不太可能发生变化基本面,并指出如果你想了解更多信息,你可以阅读的资源有哪些。 该文档没有解释具体的某些功能(例如,ServiceWorkers,编辑).相反,该文档解释了基本功能(例如,存储器管理,V8 API)。 Blink是干什么的?
[翻译]Chromium 的多进程架构 [翻译]Chromium 的多进程架构

[翻译]Chromium 的多进程架构

这边文章讲的内容为chromium的上层架构. 问题 构建一个不崩溃或者绝对安全的渲染引擎几乎是不可能的. 在2006年左右,浏览器的状态类似于过去的单用户,协作式操作系统.由于一些程序的错误行为可能导致整个系统都崩溃,同样某些页面的错误操作会使整个浏览器奔溃,这只是一个页面的错误或者插件的bug就会导致整个浏览器关闭和所有的Tabs. 现在的操作系统往往都更健壮,因为它将不同的程序放到了彼此隔离的单独进程中.一个应用崩溃通常不会影响其他应用或者整个系统,并且每个用户访问其他用户的数据是受限的. 架构概览 我们对浏览器的Tab页使用单独进程,可以避免整个应用受到渲染引擎的bug或者小故障的影响.我们也限制每个渲染引擎进程访问其他进程和系统的其他部分.这为浏览器带来了内存保护和访问控制操作系统带来了好处. 我们将运行UI的主线程和管理Tabs和插件进程的作为"浏览器进程"或者"浏览器&
Chromium for android 编译注意事项

Chromium for android 编译注意事项

编译Chromium时默认是不支持MP3,MP4格式的,所以编译出来的版本是无法播放音频和视频的,如果要播放时,就会产生这样的error log: PIPELINE_ERROR DEMUXER_ERROR_NO_SUPPORTED_STREAM 如果需要对音视频进行支持的话,需要在args.gn文件中,增加如下的配置: proprietary_codecs = true ffmpeg_branding = "Chrome"

...

00:00:00 00:00:00