• h.g.
    置顶
    2020-05-24
    mac brew install v8 就可以直接使用 d8 了

    作者回复: 赞

    共 6 条评论
    31
  • champ可口可乐了
    2020-04-17
    找到了编译好的d8工具: mac平台: https://storage.googleapis.com/chromium-v8/official/canary/v8-mac64-dbg-8.4.109.zip linux32平台: https://storage.googleapis.com/chromium-v8/official/canary/v8-linux32-dbg-8.4.109.zip linux64平台: https://storage.googleapis.com/chromium-v8/official/canary/v8-linux64-dbg-8.4.109.zip win32平台: https://storage.googleapis.com/chromium-v8/official/canary/v8-win32-dbg-8.4.109.zip win64平台: https://storage.googleapis.com/chromium-v8/official/canary/v8-win64-dbg-8.4.109.zip

    作者回复: 不错

    共 4 条评论
    25
  • sugar
    2020-04-02
    这篇太棒了,终于有这样的手把手带着调试v8的课节了…真的希望这个系列课程中能多加餐一些面向v8底层 c++调试的一些内容,市面上这类资料良莠不齐 且很多资料时效性已经非常差了不具有参考性。几年前,那时我第一次编译chromium,一台顶配的macbookpro生生跑了一下午,然后要是想自己试着改一些地方的代码 反复编译出来看效果就更费劲了。当时一直苦于没人带走了很多弯路,如今看到老师您的这篇专栏喜出望外,真的很希望能多聊些深入的东西,照顾一下各个阶段的学员哈

    作者回复: chromium是个庞然大物,下载代码和配置工程和编译代码都是非常费时费力的,调试也是非常麻烦,各种跳转,各种跨进程通信

    
    18
  • 文蔺
    2020-04-19
    经过一番猛折腾 最后发现了jsvu 这个工具才是安装 d8 最简单的方式。https://github.com/GoogleChromeLabs/jsvu

    作者回复: 赞

    共 3 条评论
    11
  • 子云
    2020-05-05
    我有几点疑问呀。 一:test.js 里似乎不能出现 require 和 import,d8 直接会报错连语法树都编译不了,。 二:垃圾回收那个例子 ``` // 本节里的这个例子,我数了数一共打印了 14 次 Scavenge.... function strToArray(str) { let i = 0; const len = str.length; let arr = new Uint16Array(str.length); for (; i < len; ++i) { arr[i] = str.charCodeAt(i); } return arr; } // 换成下面这个,之打印一次 Scavenge..... ,这是为什么? function strToArray(str) { let i = 0; const len = str.length; let arr = str.split(','); return arr; } ```

    作者回复: d8比较简单,不支持太复杂的功能,最好是单一文件 第二个strtoarray中没有分配新的大数据,也就不会很快沾满新生代,当然就不会频繁触发垃圾回收器了

    
    2
  • 高亮~
    2020-04-04
    glcient sync 命令应该是错的 应该是gclient sync

    作者回复: 嗯,我改下

    
    2
  • Aaaaaaaaaaayou
    2020-04-22
    老师,代码中有 require 引用模块的语句,使用 d8 调试的时候会报 require is not defined,个人理解 require 应该是 nodejs 这个运行环境才能识别。我现在的目标是想看下有模块引入的时候 AST 是什么样子的,请问这个有其他方式吗

    作者回复: d8比较简单,不支持太复杂的功能

    共 2 条评论
    
  • Bazinga
    2020-04-02
    mac 安装了 depot_tools 怎么配置,直接运行 glcient sync 运行不出啊

    作者回复: 需要将depot_tools的目录设置到环境变量中

    共 5 条评论
    
  • 踢车牛
    2020-04-11
    搞了两天,终于在 mac 上把 v8 编译成功了,记录下踩过的坑 1. v8 编译依赖于 xcode, 首先安装相应的 xcode,然后 sudo xcode-select -s /Users/videojj/test/Xcode.app。 2. 代理最好开成全局模式,否则,可能某些地址会访问不到,我通过 fetch v8 是就经常失败,然后全局模式后就成功了。 3. xcode 大约 7G, v8 7.48G, depot_tools 400M,因此要想编译成功,首先硬盘空间要够。
    共 1 条评论
    7
  • justorez
    2023-02-10 来自北京
    用 jsvu 方便一下 npm i jsvu -g 选装 V8 debug 即可。
    共 1 条评论
    2