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

GWT 2.1.5 Super Dev模式下Chrome调试局部变量评估异常求助

在GWT 2.1.5 Super Dev Mode中查看局部变量的调试技巧

我之前在使用GWT较早版本的Super Dev Mode时也碰到过一模一样的问题,当时折腾了好一会儿才摸清门道。结合你提到的官方文档说明,下面给你具体的解决方法:

找到JavaScript层面的变量名称

要在Chrome调试器里评估局部变量,确实得用编译后的JS变量名,而不是你Java源码里的名称,具体找法如下:

  • 首先确保Chrome调试器的Sources面板里能看到你的Java源码(这说明source map已经正常工作了),在对应的代码行打上断点。
  • 当程序停在断点处时,看调试器右侧的Scope面板(通常在Call Stack面板下方):
    • 展开Local或者Closure节点,这里会列出当前作用域内所有可用的变量,显示的就是JS层面的实际名称。
    • 仔细看的话,很多变量旁边会用注释标注对应的Java变量名(比如$username旁边可能会有// username的提示),或者把鼠标悬停在变量名上,也能看到对应的Java名称提示。
  • 找到对应的JS变量名后,你就可以在调试器的Console面板里直接输入这个名称,回车就能评估变量的值了。

额外的调试小技巧

  • 如果某个Java局部变量在Scope面板里找不到,可能是GWT的编译优化把它合并或移除了。虽然Super Dev Mode默认会禁用大部分优化,但你可以在GWT模块文件里添加一行配置来彻底关闭激进优化:
    <set-property name="compiler.disableAggressiveOptimization" value="true"/>
    
  • 确认Chrome调试器的设置里已经勾选了Enable JavaScript source maps(在Settings → Sources分类下),这是能看到Java源码并关联到JS变量的前提。
  • 由于GWT 2.1.5版本比较老旧,偶尔会出现source map异常的情况,如果变量名称不对应,试试点击Super Dev Mode书签里的「Recompile」按钮重新编译代码,通常能解决这类问题。

在Chrome调试器中检查变量时,字段名称和值是JavaScript层面的,而非Java层面的

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:46:18