【问题标题】:Replacing V8 version of Chrome with a Debug Build用调试版本替换 V8 版本的 Chrome
【发布时间】:2018-04-27 11:10:49
【问题描述】:

我想看看 v8 嵌入到 chrome 时生成的程序集和字节码。 d8 的独立版本不支持 DOM,因此在这种情况下是不够的。

运行 './chrome --js-flags="--help"' 表明此 v8 版本支持“--print-bytecode”选项,但不支持“--print-code”。 更准确地说,我想像这样运行 chrome:

'./chrome -js-flags="--print-code"'

如何将 google-chrome 中的 v8 版本替换为支持“--print-code”的调试版本? 我使用的是 64 位的 linux 操作系统。

谢谢。

【问题讨论】:

    标签: javascript google-chrome chromium v8


    【解决方案1】:

    Google Chrome 版本是静态链接的,这意味着您无法轻松替换 V8 或任何其他组件。

    一种选择是从头开始编译 Chromium(这需要几个小时)。当您这样做时,只需将v8_enable_disassembler = true 添加到您的 GN args 以启用 V8 中的反汇编器支持(包括--print-code 支持)。请参阅https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md 的说明。

    另一种选择是从持续集成基础架构下载 Chromium 的调试版本(默认支持反汇编程序)。这不是官方支持的,但有可能:转到https://ci.chromium.org/p/chromium/g/main/console,单击chromium.linux > debug > builder > 64列中最新的绿色框,向下滚动到“package build”步骤并单击“download”链接。

    警告:这两种方法的共同点是生成的构建可能有很多错误,它们不会自动更新,而且沙盒可能无法开箱即用。您应该只将这些构建用于有针对性的测试,而不是用于常规浏览。

    【讨论】:

      猜你喜欢
      • 2017-05-12
      • 1970-01-01
      • 2010-10-27
      • 2020-08-02
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      相关资源
      最近更新 更多