企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法技术方案

技术编号:4181421 阅读:331 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种企业Web应用系统中实现跨浏览器Javascript调试的系统,包括图形化Javascript调试平台和跨浏览器Javascript调试框架,其中图形化Javascript调试平台包括调试器引擎模块、Http服务器模块、代理服务器模块、编译引擎模块、调试服务器模块和调试器UI模块,跨浏览器的Javascript调试框架包括跨浏览器支持模块、调试代码API模块、调用堆栈管理模块以及调试命令解析模块。本发明专利技术还涉及一种基于该系统实现企业Web应用系统中跨浏览器Javascript调试的方法。采用该种企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法,调试效率高,操作简单快捷方便,系统性能稳定可靠,降低了开发维护成本,增强了系统可移植性和可扩展性,适用范围较为广泛,为企业Web应用软件技术的进一步发展奠定了坚实的基础。

【技术实现步骤摘要】

本专利技术涉及计算机软件领域,特别涉及企业Web应用系统领域,具体是指一种。
技术介绍
随着现代社会科学技术的发展,大型企业的计算机软件系统即企业应用系统的不断进步,已经由过去的C/S(客户端/服务器)模式转变为现在的B/S(浏览器/服务器)模式,传统的企业应用系统已经成为企业Web应用系统。Javascript语言是企业Web应用系统开发过程中一种必不可少的脚本语言,它提供了控制浏览器和在客户端与用户交互的方法,弥补了简单HTML页面的不足,增强了网页与应用程序间的交互。 Javascript可以说是Internet上最流行的脚本语言,它工作在包括IE、Firefox、Safari、0pera和Google Chrome等主流浏览器中。随着web2. 0的发展,RIA(富Internet应用,Rich InternetApplication)应用层出不穷,Javascript在其中担任的角色越来越重要。另一方面,chrome等浏览器的发布,firefox和safari等浏览器不断推出新版本,都给Javascript发展带来了新的契机。 程序调试目前主要存在两种方式,一种是编译调试目标文件,即将调试所用的语句编译到目标代码中,一种是调用该程序语言的运行容器接口丄/0++语言的调试采用的是前一种方式,例如目前比较流行的调试工具GDB和微软的Visual Studio自带的Debugger,在这种方式中首先需要编译一个"debug"模式的程序并将调试语句编译到程序中,同时在调试过程中debugger深层介入程序的运行,掌握和控制运行态的一些信息并将这些信息及时返回。Java调试采用的是后一种方式,即使用Java虚拟机工具接口 (Java VirtualMachine Tool Interface, JVMTI)提供的调试接口。 目前的Javascript调试工具也采用后一种方式,IE和Firefox分别提供了Javascript的调试接口,调试Javascript主要在IE和Firefox下进行。例如Firefox提供的调试接口是jsdIDebuggerService,通过向其中注入 一 些调试钩子来实现调试。jsdIDebuggerService提供的调试接□主要有breakpointHook、 debuggerHook、debugHook、 errorHook、 functionHook、 interr卯tHook、 scriptHook、 throwHook、topLevelHook等。使用者只要实现这些接口并注册到jsdIDebuggerService中,即可在Firefox中调试Javascript。 Firebug、venkman、aptana、netbeans以及MyEclipse等者卩是使用这些接口在Firefox下实现Javascript调试。 采用第二种调试方式的Javascript调试工具存在如下弊端首先不能跨浏览器,各个浏览器提供的调试接口都不相同,基于浏览器开发出来的调试工具无法通用,实现一个整合了多个浏览器引擎的调试工具本身也相当困难。其次需要安装插件,此类调试工具都需要在浏览器上安装插件。而且浏览器版本的升级会导致调试工具无法使用。
技术实现思路
本专利技术的目的是克服了上述现有技术中的缺点,提供一种不依赖于具体浏览器和调试插件的Javascript调试支持、系统架构简单、使用维护方便快捷、工作性能稳定可靠、适用范围较为广泛的。 为了实现上述的目的,本专利技术的如下 该企业Web应用系统中实现跨浏览器Javascript调试的系统,包括图形化Javascript调试平台和跨浏览器Javascript调试框架,其主要特点是,所述的图形化Javascript调试平台包括 调试器引擎模块,解析Javascript和Html,为编译引擎模块和调试器用户界面模块提供Javascript源代码的调试信息,在断点配置时及编译引擎中被调用; Http服务器模块,与浏览器、Web应用服务器以及本地文件系统进行通信; 代理服务器模块,提供访问远程Web应用服务器中URL的功能,统一 URL域,支持跨域URL访问; 编译引擎模块,将调试源文件编译为带调试代码的调试目标文件; 调试服务器模块,接受来自浏览器的调试代码API的Ajax请求,解析调试代码发送的指令、调用堆栈、变量等信息,并将断点、指令等信息返回给浏览器端运行的调试代码; 调试器用户界面模块;提供与用户交互的断点管理、源文件定位、调试启动、查看变量和调试动作功能,通过调试事件和调试服务器模块交互; 所述的跨浏览器的Javascript调试框架包括 跨浏览器支持模块,封装有跨浏览器的Javascript应用程序接口 ; 调试代码应用程序接口模块,提供调试函数,在浏览器中运行的Javascript代码在每一行代码执行之前,都会调用该调试函数来判断程序是否进行中断,如果遇到断点或单步执行等中断时,就向调试服务器发送同步Ajax请求,将当前的资源、行号、调用堆栈和调试数据信息发送给调试服务器; 调用堆栈管理模块,提供客户端调用堆栈管理功能,在跟进、跟出操作过程中进行堆栈判断; 调试命令解析模块,用于与调试服务器模块交互时解析调试服务器模块传回的调试指令。 该企业Web应用系统中实现跨浏览器Javascript调试的系统中的调试信息包括总行数和可以下断点的行号。 该企业Web应用系统中实现跨浏览器Javascript调试的系统中的调试动作包括足艮出stepover、足艮进stepinto、返回stepreturn、继续手丸行resume禾口终止terminate。 该企业Web应用系统中实现跨浏览器Javascript调试的系统中的Javascript应用程序接口包括Ajax调用接口、 json格式转换和存储调用堆栈接口 。 该企业Web应用系统中实现跨浏览器Javascript调试的系统中的调试指令包括足艮进stepInto、足艮出stepOver、返回stepReturn、继续手丸行resume禾口终止terminate。 该基于上述的系统实现企业Web应用系统中跨浏览器Javascript调试的方法,其主要特点是,所述的方法包括图形化Javascript调试平台的预处理操作、断点配置操作和调试中断操作,所述的图形化Javascript调试平台的预处理操作,包括以下步骤 (11)所述的图形化Javascript调试平台进行初始化操作; (12)所述的调试器用户界面模块根据预先配置的调试端口启动一个Http服务器模块,并记录调试服务器模块的地址; (13)所述的图形化Javascript调试平台生成客户端URL ; (14)所述的图形化Javascript调试平台打开浏览器; (15)所述的浏览器向Http服务器模块发送地址为该客户端URL的HTTP请求; (16)所述的Http服务器模块向用户输入的URL发送HTTP请求,获得该URL上的调试源文件并保存; (17)所述的图形化Javascript调试平台将该Http服务器模块所获得的调试源文件的代码文本显示在调试器用户界面模块中; (18)所述的Http服务器模块调用编译引擎模块生成编译后的本文档来自技高网
...

【技术保护点】
一种企业Web应用系统中实现跨浏览器Javascript调试的系统,包括图形化Javascript调试平台和跨浏览器Javascript调试框架,其特征在于,所述的图形化Javascript调试平台包括:调试器引擎模块,解析Javascript和Html,为编译引擎模块和调试器用户界面模块提供Javascript源代码的调试信息,在断点配置时及编译引擎中被调用;Http服务器模块,与浏览器、Web应用服务器以及本地文件系统进行通信;代理服务器模块,提供访问远程Web应用服务器中URL的功能,统一URL域,支持跨域URL访问;编译引擎模块,将调试源文件编译为带调试代码的调试目标文件;调试服务器模块,接受来自浏览器的调试代码API的Ajax请求,解析调试代码发送的指令、调用堆栈、变量等信息,并将断点、指令等信息返回给浏览器端运行的调试代码;调试器用户界面模块;提供与用户交互的断点管理、源文件定位、调试启动、查看变量和调试动作功能,通过调试事件和调试服务器模块交互;所述的跨浏览器的Javascript调试框架包括:跨浏览器支持模块,封装有跨浏览器的Javascript应用程序接口;调试代码应用程序接口模块,提供调试函数,在浏览器中运行的Javascript代码在每一行代码执行之前,都会调用该调试函数来判断程序是否进行中断,如果遇到断点或单步执行等中断时,就向调试服务器发送同步Ajax请求,将当前的资源、行号、调用堆栈和调试数据信息发送给调试服务器;调用堆栈管理模块,提供客户端调用堆栈管理功能,在跟进、跟出操作过程中进行堆栈判断;调试命令解析模块,用于与调试服务器模块交互时解析调试服务器模块传回的调试指令。...

【技术特征摘要】

【专利技术属性】
技术研发人员:曹宗伟焦烈焱马捷
申请(专利权)人:上海普元信息技术有限责任公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1