写点什么

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:163616
用户头像

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

关注

评论

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

嘉为鲸眼可观测中心解决方案获评信通院可观测性优秀案例优秀级

嘉为蓝鲸

自动化运维 嘉为蓝鲸

SpringBoot实现电子文件签字+合同系统

程序员大彬

springboot

Java高手速成 | JSP的MVC模式

TiAmo

mvc jsp

低代码实现探索(五十五)后台服务设计

零道云-混合式低代码平台

Java CompletableFuture 异步超时实现探索

京东科技开发者

Java jdk RPC 多线程并发 企业号 2 月 PK 榜

袋鼠云数栈UI5.0焕新升级,全新设计语言DT Design,更懂视觉更懂你!

袋鼠云数栈

大数据 UI

内存数据库如何发挥内存优势?

陈橘又青

数据库

【技术干货】开关电源噪声的种类来源和抑制方法解析

元器件秋姐

噪声 变压器 开关 电源

码农如何提高自己的品味

京东科技开发者

Java 程序员 代码设计 企业号 2 月 PK 榜 品味

稀疏镜像在OpenHarmony上的应用

OpenHarmony开发者

OpenHarmony

云图说丨初识云应用引擎CAE

华为云开发者联盟

云计算 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

数据可视化大屏项目,我是如何实现多屏间的数据通信

梁木由

程序员 前端 前端开发

现实中的量子计算机有望进化成《流量地球2》中的MOSS吗?

博文视点Broadview

软件测试与开发

测吧(北京)科技有限公司

软件测试

m序列码产生电路设计与仿真

timerring

FPGA

2023最新H5前端阅读书单推荐

kcodez

前端 H5 React

阿里云PAI-Diffusion功能再升级,全链路支持模型调优,平均推理速度提升75%以上

阿里云大数据AI技术

人工智能 模型优化 企业号 2 月 PK 榜

软件测试 | 被测系统的需求理解

测吧(北京)科技有限公司

软件测试

Hive 实战

Joseph295

企业如何实现良好的告警管理流程?

嘉为蓝鲸

告警管理 自动化运维 嘉为 嘉为蓝鲸

在 Asp.Net Core 中什么是认证和授权

newbe36524

C# Kubernetes

架构训练营第10期模块6作业

Geek_4db2d5

使用 ChatGPT 轻松创建用户注册页面

devpoint

人工智能 AI ChatGPT

软件测试 | 什么是被测系统架构与数据流分析

测吧(北京)科技有限公司

软件测试

OKR之剑·实战篇05:OKR致胜法宝-氛围&业绩双轮驱动(上)

vivo互联网技术

团队管理 OKR

平台工程101:Dev、Sec和Ops的自动化黏合剂

SEAL安全

DevOps 自动化 DevSecOps 平台工程 企业号 2 月 PK 榜

初学者必看!3D建模要学什么软件?

Finovy Cloud

3DMAX maya 3D软件

给 Databend 添加 Scalar 函数 | 函数开发系例一

Databend

量化合约系统开发源码技术搭建丨合约量化系统开发Python成熟代码

I8O28578624

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