CN104375940A - 一种对javaScript文件的调试方法 - Google Patents
一种对javaScript文件的调试方法 Download PDFInfo
- Publication number
- CN104375940A CN104375940A CN201410701159.6A CN201410701159A CN104375940A CN 104375940 A CN104375940 A CN 104375940A CN 201410701159 A CN201410701159 A CN 201410701159A CN 104375940 A CN104375940 A CN 104375940A
- Authority
- CN
- China
- Prior art keywords
- javascript
- file
- configuration file
- code
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明公开了一种对javaScript文件的调试方法,其具体实现过程包括:JavaScript压缩文件的分析,代码的行列截取,保存分析出来的行列信息到配置文件。配置文件在文件起作用之前完成,当压缩文件被执行的时候,配置文件起作用,一旦程序出现问题调试信息显示通过配置文件定位显示精确出错位置。该一种对javaScript文件的调试方法与现有技术相比,大大的简化了调试过程,解决了调试过程中提示信息不明确的问题,简单高效,实用性强。
Description
技术领域
本发明涉及计算机信息技术领域,具体地说是一种实用性强、对javaScript文件的调试方法。
背景技术
现在JavaScript脚本正变得越来越复杂。大部分源码(尤其是各种函数库和框架)都要经过转换、混淆等操作以后才能投入应用环境,而实现这种转换、混淆操作主要有三种方式,一是压缩减少体积,二是多个文件合并减少请求数,三是其他语言生成JavaScript。以上三种情况虽然对于程序的应用提升了效率,但是同时也使得实际运行的代码不同于研发的代码,以至于对实际运行的代码要进行错误跟踪查找非常困难,JavaScript解释器在程序出错的时候报告的信息都是经过了混淆后的信息,在这里就毫无用处了,因为所有的代码已经集中到一行或几行当中去了。调试此类压缩后的文件费时费力,且进度缓慢,无形中增加了软件的开发成本,同时对于程序的准确性、稳定性也造成一定程度的困扰。基于此,现提供一种对于压缩后的JavaScript文件的调试方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、对javaScript文件的调试方法。
一种对javaScript文件的调试方法,其具体实现过程为:
一、生成JavaScript调试配置文件信息,该配置文件在文件起作用之前完成,当压缩文件被执行的时候,配置文件起作用,一旦程序出现问题调试信息显示通过配置文件定位显示精确出错位置;
二、在HTML前段页面导入上述JavaScript配置文件;
三、将html、JavaScript配置文件放入应用服务器;
四、启动应用服务器;
五、通过浏览器访问页面,向服务器发起请求;
六、应用服务器响应请求加载html时顺序加载JavaScript配置文件;
七、当JavaScript配置文件出错时,浏览器控制台通过配置文件显示精确出错信息;
八、当JavaScript配置文件未出错时,操作前端的JavaScript配置文件报错,则返回上述步骤七。
所述JavaScript配置文件记录分析的代码断句实现一个显示精确位置的调试信息的功能;该配置文件在JavaScript文件被使用之前通过代码分析生成,记录了JavaScript文件的断句后的行列坐标信息;
其具体生成过程为:对JavaScript文件代码读取解析,然后对文件的位置信息进行断句、重组和分析,输出格式化代码信息,并以行列坐标的方式显示定位信息,形成配置文件。
上述生成配置文件的被调试的JavaScript文件是压缩混淆过的文件。
所述JavaScript文件在应用之前通过文档流按顺序加载,在src属性被加载的过程中JavaScript文件先进行预编译,在JavaScript引擎执行预编译之前分析已经压缩的源代码文件,通过分行截取代码的方式,保存行列坐标值。
本发明的一种对javaScript文件的调试方法,具有以下优点:
该发明的一种对javaScript文件的调试方法具有精确提示错误,提示信息精确,问题定位容易、快捷的特点;整个方法设计合理,通过程序对JavaScript文件分析,实现已经压缩的JavaScript的优化调试,行列式的显示包含精确位置的提示信息;给软件工程师的程序调试定位,甚至程序的稳定性可靠性调试提供帮助。大大节省人力财力,降低项目维护难度;实用性较强,适用范围广泛,易于推广。
附图说明
附图1为本发明的javaScript文件调试示意图。
附图2为本发明的实现流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明提供一种对javaScript文件的调试方法,通过简单的信息配置,大大的简化了调试过程,解决了调试过程中提示信息不明确的问题。如附图1、图2所示,其具体实现过程为:
一、生成JavaScript调试配置文件信息,该配置文件在文件起作用之前完成,当压缩文件被执行的时候,配置文件起作用,一旦程序出现问题调试信息显示通过配置文件定位显示精确出错位置;所述配置文件是通过程序分析压缩后的JavaScript文件生成的记录了源文件的精确行列信息的说明文件。在JavaScript文件起作用的时候,一旦出错,配置文件起作用,在浏览器的控制台返回精确的位置出错信息。
二、在HTML前段页面导入上述JavaScript配置文件。
三、将html、JavaScript配置文件放入应用服务器。
四、启动应用服务器。
五、通过浏览器访问页面,向服务器发起请求。
六、应用服务器响应请求加载html时顺序加载JavaScript配置文件。
七、当JavaScript配置文件出错时,浏览器控制台通过配置文件显示精确出错信息。
八、当JavaScript配置文件未出错时,操作前端的JavaScript配置文件报错,则返回上述步骤七。
所述JavaScript配置文件记录分析的代码断句实现一个显示精确位置的调试信息的功能;该配置文件在JavaScript文件被使用之前通过代码分析生成,记录了JavaScript文件的断句后的行列坐标信息;
其具体生成过程为:对JavaScript文件代码读取解析,然后对文件的位置信息进行断句、重组和分析,输出格式化代码信息,并以行列坐标的方式显示定位信息,形成配置文件。
上述生成配置文件的被调试的JavaScript文件是压缩混淆过的文件。
所述JavaScript文件在应用之前通过文档流按顺序加载,在src属性被加载的过程中JavaScript文件先进行预编译,在JavaScript引擎执行预编译之前分析已经压缩的源代码文件,通过分行截取代码的方式,保存行列坐标值。
如附图2所示的调试压缩JavaScript文件的流程,我们只是在压缩的文件加载之前进行一次文件分析配置操作,就可以达到输出精确调试信息的目的,整个过程十分简单。
本发明提供的是一种调试压缩混淆后的JavaScript文件的简单高效的方法。所述配置文件是通过程序分析压缩后的JavaScript文件生成的记录了源文件的精确行列信息的说明文件。在JavaScript文件起作用的时候,一旦出错,配置文件起作用,在浏览器的控制台返回精确的位置出错信息。通过这种简单的信息配置,大大的简化了调试过程,解决了调试过程中提示信息不明确的问题。不修改原JavaScript文件,调试的同时不影响源文件。这对工作效率的提高有很大帮助。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种对javaScript文件的调试方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (4)
1.一种对javaScript文件的调试方法,其特征在于,其具体实现过程为:
一、生成JavaScript调试配置文件信息,该配置文件在文件起作用之前完成,当压缩文件被执行的时候,配置文件起作用,一旦程序出现问题调试信息显示通过配置文件定位显示精确出错位置;
二、在HTML前段页面导入上述JavaScript配置文件;
三、将html、JavaScript配置文件放入应用服务器;
四、启动应用服务器;
五、通过浏览器访问页面,向服务器发起请求;
六、应用服务器响应请求加载html时顺序加载JavaScript配置文件;
七、当JavaScript配置文件出错时,浏览器控制台通过配置文件显示精确出错信息;
八、当JavaScript配置文件未出错时,操作前端的JavaScript配置文件报错,则返回上述步骤七。
2.根据权利要求1所述的一种对javaScript文件的调试方法,其特征在于,所述JavaScript配置文件记录分析的代码断句实现一个显示精确位置的调试信息的功能;该配置文件在JavaScript文件被使用之前通过代码分析生成,记录了JavaScript文件的断句后的行列坐标信息;
其具体生成过程为:对JavaScript文件代码读取解析,然后对文件的位置信息进行断句、重组和分析,输出格式化代码信息,并以行列坐标的方式显示定位信息,形成配置文件。
3.根据权利要求2所述的一种对javaScript文件的调试方法,其特征在于,上述生成配置文件的被调试的JavaScript文件是压缩混淆过的文件。
4.根据权利要求2所述的一种对javaScript文件的调试方法,其特征在于,所述JavaScript文件在应用之前通过文档流按顺序加载,在src属性被加载的过程中JavaScript文件先进行预编译,在JavaScript引擎执行预编译之前分析已经压缩的源代码文件,通过分行截取代码的方式,保存行列坐标值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410701159.6A CN104375940A (zh) | 2014-11-28 | 2014-11-28 | 一种对javaScript文件的调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410701159.6A CN104375940A (zh) | 2014-11-28 | 2014-11-28 | 一种对javaScript文件的调试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104375940A true CN104375940A (zh) | 2015-02-25 |
Family
ID=52554875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410701159.6A Pending CN104375940A (zh) | 2014-11-28 | 2014-11-28 | 一种对javaScript文件的调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104375940A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150199259A1 (en) * | 2014-01-15 | 2015-07-16 | Microsoft Corporation | Exception and Debugging Behaviors for JavaScript Debugging using Just My Code |
CN106897211A (zh) * | 2015-12-21 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 针对混淆脚本语言的定位方法和系统 |
CN107193625A (zh) * | 2017-07-26 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种脚本文件的处理方法及装置 |
CN111026638A (zh) * | 2019-10-29 | 2020-04-17 | 贝壳技术有限公司 | 一种网页自动化测试方法、装置、电子设备和存储介质 |
US10664384B2 (en) | 2013-03-15 | 2020-05-26 | Microsoft Technology Licensing, Llc | Javascript debugging using just my code |
CN113688056A (zh) * | 2021-09-09 | 2021-11-23 | 京东科技控股股份有限公司 | 一种断点调试控制方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061518A (en) * | 1997-11-25 | 2000-05-09 | International Business Machines Corporation | Data processing system and method for debugging a JavaScript program |
CN101719093A (zh) * | 2009-12-09 | 2010-06-02 | 上海普元信息技术有限责任公司 | 企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法 |
CN102722440A (zh) * | 2012-06-07 | 2012-10-10 | 中兴通讯股份有限公司 | 一种嵌入式系统可执行代码的调试装置、调试方法及嵌入式系统 |
-
2014
- 2014-11-28 CN CN201410701159.6A patent/CN104375940A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061518A (en) * | 1997-11-25 | 2000-05-09 | International Business Machines Corporation | Data processing system and method for debugging a JavaScript program |
CN101719093A (zh) * | 2009-12-09 | 2010-06-02 | 上海普元信息技术有限责任公司 | 企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法 |
CN102722440A (zh) * | 2012-06-07 | 2012-10-10 | 中兴通讯股份有限公司 | 一种嵌入式系统可执行代码的调试装置、调试方法及嵌入式系统 |
Non-Patent Citations (2)
Title |
---|
JASON: "使用SourceMap来进行压缩后的代码调试,以underscore为例", 《二分之一博客》 * |
阮一峰: "JavaScript Source Map详解", 《CSDN论坛》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10664384B2 (en) | 2013-03-15 | 2020-05-26 | Microsoft Technology Licensing, Llc | Javascript debugging using just my code |
US20150199259A1 (en) * | 2014-01-15 | 2015-07-16 | Microsoft Corporation | Exception and Debugging Behaviors for JavaScript Debugging using Just My Code |
US9424163B2 (en) * | 2014-01-15 | 2016-08-23 | Microsoft Technology Licensing, Llc | Exception and debugging behaviors for JavaScript debugging using just my code |
CN106897211A (zh) * | 2015-12-21 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 针对混淆脚本语言的定位方法和系统 |
WO2017107808A1 (zh) * | 2015-12-21 | 2017-06-29 | 阿里巴巴集团控股有限公司 | 针对混淆脚本语言的定位方法和系统 |
CN107193625A (zh) * | 2017-07-26 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种脚本文件的处理方法及装置 |
CN111026638A (zh) * | 2019-10-29 | 2020-04-17 | 贝壳技术有限公司 | 一种网页自动化测试方法、装置、电子设备和存储介质 |
CN113688056A (zh) * | 2021-09-09 | 2021-11-23 | 京东科技控股股份有限公司 | 一种断点调试控制方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104375940A (zh) | 一种对javaScript文件的调试方法 | |
CN105868171B (zh) | 一种Excel文件的校验方法及装置 | |
CN104252410A (zh) | 一种对页面中的控件进行测试的方法和设备 | |
CN109117464A (zh) | 一种基于编辑距离的数据相似度检测方法 | |
CN103678105A (zh) | 一种页面代码的测试方法和装置 | |
CN103186467B (zh) | 数据正确性验证方法及装置 | |
CN103425584A (zh) | 基于Java字节码的大型应用回归测试信息处理方法 | |
CN103577310A (zh) | 记录软件调试日志的方法以及装置 | |
CN109408763B (zh) | 一种对不同模板的简历进行管理的方法及系统 | |
KR20210039360A (ko) | 구조화 문서 정보 표기 방법, 장치 및 전자기기 | |
CN105302730A (zh) | 一种检测计算模型的方法、测试服务器及业务平台 | |
CN111143577A (zh) | 数据标注方法、装置和系统 | |
US8397114B2 (en) | Automated regression testing intermediary | |
CN103226510A (zh) | 解析vmcore文件的方法和装置 | |
CN105302547A (zh) | 一种面向Verilog HDL设计的故障注入方法 | |
CN105573972A (zh) | 报表校验公式的生成方法及装置 | |
CN115169578A (zh) | 一种基于元宇宙数据标记的ai模型生产方法及系统 | |
CN105320603A (zh) | 浏览器页面元素的定位系统和方法及其自动化测试方法 | |
CN105243020A (zh) | 一种适用于广域分布式实时数据库的自动化测试方法 | |
CN105138563A (zh) | 一种可实现快速提取测试log关键信息的方法 | |
CN104317600A (zh) | 一种可配置的曲线图生成方法及系统 | |
CN111639050B (zh) | 一种井数据格式转换方法及系统 | |
CN109117130B (zh) | 一种基于mdd的时序图自动生成状态迁移矩阵的方法、系统及存储器 | |
CN107085553B (zh) | 一种输入框测试方法及装置 | |
CN105607957A (zh) | 一种基于opc da的数据采集与监控系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150225 |
|
WD01 | Invention patent application deemed withdrawn after publication |