写点什么

Mozilla、WebKit 准备支持对精简 JS 以及 CoffeeScript 和其他 JS 语言的调试

  • 2011-08-11
  • 本文字数:847 字

    阅读完需:约 3 分钟

如今的 Web 和 Javascript 调试器已经非常强大,并很好地集成在浏览器中——但是必须满足的条件是调试器中的代码是原始的、手写的。现在,大量执行和部署的 Javascript 通过软件生成,而不是开发人员。最常见的情况是精简或者压缩后的代码。在这些代码中设置断点非常麻烦甚至无法实现,因为它们往往是单长行形式——即使最初的源代码是格式良好的。

另一个问题是:Javascript 成为语言的​编译器目标正在逐渐受到欢迎,主要归功于Javascript VM 的普及。 CoffeeScript 仅仅是新语言的一个例子,最近推出的 ClojureScript 是现有语言的一个例子,编译为 Javascript。调试利用这些语言编写的代码意味着使用生成的 Javascript 代码,而不是可以设置断点、console.log() 消息和其他源代码相关功能的输入语言。

这个问题由来已久,JVM 语言也有类似的问题,从而提出了 JSR-045 - Debugging Support for Other Languages ,用于编译到 JVM 的各种语言,如 JRuby

源地图(Source Maps,SMAP)是解决办法,例如源语言和目标表示之间的映射文件。Google 的 Closure 编译器可以针对精简后的 Javascript 文件生成 SMAP 文件,不过目前能够读取 SMAP 的工具只有 Firebug 的扩展—— Closure Inspector

Mozilla 和 WebKit 项目在它们的调试功能中启动了对 SMAP 的支持。

Mozilla针对SMAP 和调试功能有一个深入的计划。该文档还提到了源映射的另一个潜在领域——CSS,它也被CSS 超集(如 SASS 或者 LESS )用于编译目标。

Mozilla 跟踪本次工作的 ticket 是 Bug 618650 - Map JS source coordinates to source language that was translated to JS 。规划文档中提到 Firefox 9 作为目标发布版本。

WebKit 也在计划支持SMAP ,实际的SMAP 格式可能是Closure Inspector 格式的改进版,Mozilla 也在考虑这种方案。 Bug 63940 - Web Inspector: draft implementation of compiler source mappings support in debugger 在跟踪这项特性。

查看英文原文 Mozilla, WebKit To Support Debugging Minified JS As Well As CoffeeScript and other JS Languages

2011-08-11 02:163444
用户头像

发布了 501 篇内容, 共 276.3 次阅读, 收获喜欢 63 次。

关注

评论

发布
暂无评论
发现更多内容

使用TiDB企业版Lightning导入ORC文件到TiDB

TiDB 社区干货传送门

迁移 7.x 实践

sublime text :轻量级的文本编辑器

Rose

给Java同仁单点的AI"开胃菜"--搭建一个自己的本地问答系统

京东零售技术

Java LLM

Service worker 入门手册

yuanyxh

JavaScript chrome Service Worker #前端

Volcano v1.10.0 版本正式发布!10大功能全面提升统一调度和细粒度资源管理能力

华为云原生团队

云计算 容器 云原生

获取淘宝商品详情API返回值的技术实现方案

技术冰糖葫芦

API Gateway API Explorer API 接口 API 测试 pinduoduo API

海外直播软件 Bigo 的 TiDB 4.0 线上实践

TiDB 社区干货传送门

TiDB 性能测试的几个优化点

TiDB 社区干货传送门

性能调优

国产化新标杆:TiDB 助力广发银行新一代总账系统投产上线

TiDB 社区干货传送门

TiDB多业务合并新玩法

TiDB 社区干货传送门

8.x 实践

AI应用元年,豆包大模型为消费电子、游戏行业注入智能化创新动能

新消费日报

【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题

YashanDB

yashandb 崖山数据库 yashandb知识库

软件测试学习笔记丨Mock的价值与实战

测试人

软件测试 测试开发

“AI+Security”系列第3期(六):打造最懂安全的智能体-无极AI安全智能体平台落地与实践

云起无垠

OpenHarmony外设生态春笋行动 在2024开放原子开源生态大会上开启

最新动态

昆仑万维 X TiDB|从 MySQL Cluster 到 TiDB 的升级之路

TiDB 社区干货传送门

黄东旭:“向量数据库”还是“向量搜索插件 + SQL 数据库”?

TiDB 社区干货传送门

TiDB 在线打标签实现副本调度应用实践

TiDB 社区干货传送门

实践案例 7.x 实践

TiSplit 切分csv文件

TiDB 社区干货传送门

迁移 实践案例 管理与运维

macos big sur 软件icons图标大全(新增至2719枚大苏尔风格图标)

Rose

Minitab Express Mac数据分析统计软件 v1.5.0激活版

Rose

系统安全不求人:开发者必学的漏洞防御秘籍

巧手打字通

后端 系统安全 安全漏洞 SQL注入 xss攻击

【YashanDB知识库】如何dump数据文件,转换rowid, 查询对应内容

YashanDB

yashandb 崖山数据库 yashandb知识库

【YashanDB知识库】由于hist_head$中analyze time小于tab$中analyze time导致的sql语句执行慢

YashanDB

yashandb 崖山数据库 yashandb知识库

TiDB 助力东南亚领先电商 Shopee 业务升级

TiDB 社区干货传送门

Mozilla、WebKit准备支持对精简JS以及CoffeeScript和其他JS语言的调试_Java_Werner Schuster_InfoQ精选文章