写点什么

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

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

关注

评论

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

顶象App加固保障互联网+医疗安全与合规

极客天地

吉林省网络安全等级测评机构有哪些?在哪里?

行云管家

网络安全 等级保护 吉林

面试必备:四种经典限流算法讲解

Java 算法 限流

UI自动化测试革命:拥抱Maestro框架的未来之旅

麦客

ios android 测试 自动化测试

开源即时通讯IM框架MobileIMSDK的Uniapp端开发快速入门

JackJiang

网络编程 即时通讯 IM

IPP Swap孵化器系统开发之LP算力挖矿模型

薇電13242772558

智能合约 dapp开发

【FAQ】视频编辑服务常见问题及解答

HarmonyOS SDK

HMS Core

GPT大语言模型Vicuna本地化部署实践(效果秒杀Alpaca) | 京东云技术团队

京东科技开发者

AI 京东云 GPT 企业号 5 月 PK 榜

架构师日记-从代码到设计的性能优化指南 | 京东云技术团队

京东科技开发者

技术架构 京东云 企业号 5 月 PK 榜

Midjourney|文心一格prompt教程[Text Prompt(下篇)]:游戏、实物、人物、风景、动漫、邮票、海报等生成,终极模板教学

汀丶人工智能

人工智能 AI绘画 MidJourney 文生图 prompt learning

部分等保政策相关专业术语英文翻译汇总

行云管家

等保 等级保护 等保2.0

ChatGPT系统开发AI人功智能方案

Congge420

AI Gallery ChatGPT 人工智能ChatGPT 吗?

降低 Spark 计算成本 50.18 %,使用 Kyligence 湖仓引擎构建云原生大数据底座,为计算提速 2x

Kyligence

开源 数据分析

浅谈微服务中限流熔断降级的方法论

Java 微服务 限流 熔断降级

阿里巴巴官方上线!号称国内Java八股文天花板(终极版)首次开源

Java java面试 Java八股文 Java面试题 Java面试八股文

开源7天Github斩获4.5万Stars!阿里2023版高并发设计实录鲨疯了

Java 架构 微服务 系统设计 高并发

一种DWS迁移Oracle的CONNECT BY语法的方案

华为云开发者联盟

数据库 华为云 华为云开发者联盟 企业号 5 月 PK 榜

常用的表格检测识别方法-表格区域检测方法(上)

合合技术团队

人工智能 深度学习 文字识别 表格识别 表格检测

LP流动性挖矿/算力系统开发源码搭建

Congge420

区块链 系统开发 云算力挖矿系统开发详解 云算力模式系统开发源码

Midjourney|文心一格prompt教程[Text Prompt(上篇)]:品牌log、App、徽章、插画、头像场景生成,各种风格选择:科技风、运动风

汀丶人工智能

人工智能 AI绘画 MidJourney 文生图 prompt learning

“前端”工匠系列(二):合格的工匠,怎么做好价值落地 | 京东云技术团队

京东科技开发者

技术架构 京东云 企业号 5 月 PK 榜

使用taro+canvas实现微信小程序的图片分享功能 | 京东云技术团队

京东科技开发者

taro 京东云 企业号 5 月 PK 榜

LeetCode题解:136. 只出现一次的数字,排序后搜索,JavaScript,详细注释

Lee Chen

LeetCode

如何让技术架构师具有预知未来业务发展的能力? | 京东云技术团队

京东科技开发者

架构师 京东云 企业号 5 月 PK 榜

好家伙!阿里新产Java性能优化(终极版),涵盖性能优化所有操作

Java 面试 性能优化 性能调优

【源码分析】【netty】FastThreadLocal为什么快?

如果晴天

源码分析 Netty 多线程 并发 netty

一文掌握 Go 并发模式 Context 上下文

陈明勇

Go golang 后端 Context 上下文

阿里p8架构师耗时一年整理SpringBoot,从构建小系统到架构大系统

Java Spring Boot 框架

厚积薄发|迭代为什么叫冲刺?

CODING DevOps

DevOps 敏捷 软件工程

IPP Swap孵化器/LP挖矿系统开发方案

Congge420

区块链 ipfs挖矿用什么app

NFT元宇宙链游系统开发逻辑分析

Congge420

区块链 NFT链游 元宇宙链游

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