You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Chrome中查看JS生成的汇编代码及浏览器最终生成的x86机器码?

在Chrome浏览器中查看JavaScript生成的汇编/机器码方法

1. 如何查看JavaScript生成的汇编代码?

要在Chrome里看到JS代码对应的汇编指令,你需要开启DevTools的实验功能,具体步骤如下:

  • 首先在Chrome地址栏输入chrome://flags/#enable-devtools-experiments,开启「DevTools experiments」选项,然后重启Chrome生效。
  • 打开开发者工具(按F12或者右键页面选择「检查」),点击右上角的齿轮图标进入设置,在「Experiments」标签下勾选「Native code debugging」。
  • 切换到「Sources」面板,找到你想要分析的JavaScript函数(比如示例里的add函数),在函数定义处设置断点。
  • 触发代码执行(比如调用add(1,2)),当断点命中后,在右侧面板会出现「Disassemble」按钮,点击它就能看到V8生成的汇编代码了。

2. 是否可以查看最终生成的x86机器码?

完全可以!Chrome的V8引擎在JIT(即时编译)阶段会把热点JavaScript代码直接编译成x86(或对应架构)的机器码,上面的步骤就能看到最终的汇编指令(机器码对应的可读形式)。比如你给出的示例:


原始源码

function add(a, b){ return a + b; }

生成的x86汇编代码

source_position = 0
kind = FUNCTION
Instructions (size = 456)
0x36953100 0 8b4c2404 mov ecx,[esp+0x4]
0x36953104 4 81f991806049 cmp ecx,0x49608091 ;; object: 0x49608091 <undefined>
0x3695310a 10 750a jnz 22 (0x36953116)
0x3695310c 12 8b4e13 mov ecx,[esi+0x13]
0x3695310f 15 8b4917 mov ecx,[ecx+0x17]
0x36953112 18 894c2404 mov [esp+0x4],ecx
0x36953116 22 55 push ebp

这些就是V8为add函数生成的x86机器码对应的汇编指令,每一行的地址、偏移、指令都清晰可见,还包含了注释说明(比如判断是否为undefined的逻辑)。

内容的提问来源于stack exchange,提问作者Defarine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:08:36