基于虚拟机的程序执行与调试的可视化研究

来源 :广东工业大学 | 被引量 : 0次 | 上传用户:dljx1234
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在传统的软件集成开发环境中,大多数仅实现了编程界面的可视化,对于程序执行过程及调试过程中的信息缺乏动态和直观的显示。另外,传统的软件集成开发环境在平台无关性等方面存在不足。本文结合虚拟机的透明性、隔离性、封装性和平台无关性等特点,提出了基于虚拟机的程序执行与调试的可视化作为研究课题。本文通过构建一个基于虚拟机的集成开发环境AnyviewB,对程序的执行与调试过程可视化进行探讨。AnyviewB是一个EBASIC(Extension BASIC)语言可视化集成开发环境。EBASIC语言是以QBASIC语言为基础,参考了其它BASIC语言修改和扩充而成。本文以EBNF范式的形式给出了EBASIC语言的文法定义。AnyviewB的编译器包括词法分析器、语法分析器、语义分析器和代码生成器。由此代码生成器产生的目标代码是一种具备平台无关性的代码,可供EBASIC可视化虚拟机执行。另外,该编译器建立了错误处理机制,能够发现并报告词法分析阶段、语法分析阶段、语义分析阶段及代码生成阶段中产生的错误。EBASIC虚拟机结合了可视化技术,在执行与调试目标代码的过程中,同时提供了程序执行与调试状态的动态视图,包括堆和操作数栈等内存区域的变化情况的实时直观显示。对于EBASIC程序中的数组,能够使用二维坐标的形式进行可视化显示。另外,AnyviewB提供了基本的可视化Debug功能,能够单步、断点和连续执行EBASIC程序,使用户能够动态观察和分析程序的执行过程。将程序的编译和运行环境可视化,可以使程序和数据的表达更加直观,用户能够静态或者动态地直接观察程序的执行过程和数据及其之间关系的变化,从而增强了程序执行和调试过程的透明性。AnyviewB除了能够在出输出窗口中报告程序存在的各种语法错误的类型,并指出错误所在的源代码行号,而且能够识别程序中使用到的各种变量,监控程序的执行过程,并以动态视图的形式显示程序的执行与调试状态。
其他文献
在交通工程建设的过程中,质量管理是工程建设的关键。当前的交通建设工程质量管理工作主要采用传统的管理方法,即由人工对工程质量管理产生的数据与文件以纸面形式进行管理,这种
在龙芯2号处理器的众多应用中,RealVideo视频播放是最重要的应用之一。RealVideo作为目前主流的网络视频格式,在提高性能的同时也带来了更加复杂的编、解码算法。这给龙芯2号
随着计算机网络技术和通信技术的发展,网络的移动性支持成为下一代网络中最重要的技术之一。移动IPv6协议作为传统IPv6的扩充,为移动主机在不同网络间的切换提供了一种解决方
知识服务是知识与服务的融合,相关研究正在蓬勃发展。Web服务是知识服务的一种重要支撑形式。Web服务使得公司或个人可以方便迅速地向外界提供服务,具有互操作性、平台无关性、
基于证书公钥密码系统结合了传统公钥密码(PKC)系统和基于身份密码(IBC)系统的优点,既克服了存在于PKC系统中的证书管理问题,又解决了存在于IBC系统中的密钥托管问题,逐渐成
随着信息技术和管理理论的发展以及计算机和网络的广泛应用,工作流技术正在成为计算机应用领域的研究热点。对工作流技术进行深入的研究对于提高企业的信息化程度、运行效率以
学位
随着信息技术的进步和Internet的迅速发展,一个全球性的信息社会正在逐渐形成,Web上提供的服务呈指数级增长,必须要有一个合适的服务发现机制来支持Web服务。但是目前在Web服务
目前,多处理器系统单晶片已经成为高性能芯片领域的研究热点之一,而片上网络(NoCs)技术则是解决多处理器系统单晶片上信息传输问题的一个重要方法。在NoCs设计方面,随着半导
动态对等群(Dynamic Peer Group(DPG))属于Ad Hoc群的一种,其最显著的特性是对称性和动态性。群中每一个成员都是平等对称的,任何成员无权擅自决定群密钥,同时成员加入或退出
随着数据库技术的不断发展,分布式数据库的应用变得越来越广泛。由于在分布式数据库系统中数据的冗余和分布,增加了分布式数据查询的难度和复杂度,如何更加有效的查询数据是