使用调试版本替换V8版本的Chrome

时间:2018-04-27 11:10:49

标签: javascript google-chrome chromium v8

我希望看到v8生成的汇编和字节代码,当它嵌入chrome时。独立版本的d8没有DOM支持,因此在这种情况下还不够。

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

'./ chrome -js-flags =“ - print-code”'

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

感谢。

1 个答案:

答案 0 :(得分:2)

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的Debug版本(默认情况下具有反汇编程序支持)。这不是官方支持的,但它是可能的:转到https://ci.chromium.org/p/chromium/g/main/console,点击chromium.linux中的最新绿色框> debug>建设者> 64列,向下滚动到"包构建"单击并按下"下载"链接。

警告:两种方法的共同之处在于,生成的版本可能非常错误,它们不会自动更新,并且沙箱可能无法正常工作盒子。您应该仅将这些构建用于目标测试,而不是用于常规浏览。