我希望看到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操作系统。
感谢。
答案 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列,向下滚动到"包构建"单击并按下"下载"链接。
警告:两种方法的共同之处在于,生成的版本可能非常错误,它们不会自动更新,并且沙箱可能无法正常工作盒子。您应该仅将这些构建用于目标测试,而不是用于常规浏览。