一种调试时代码动态更新方法

来源 :南京大学 | 被引量 : 0次 | 上传用户:adidas9910
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息技术的不断发展,软件产品被应用到社会的每个角落。在软件开发过程中,保证软件的质量和保持软件的高效对于软件开发人员是一个巨大的挑战。软件质量是通过软件测试和调试来保证的。软件测试和调试是软件开发中非常频繁的一项任务。在软件调试时,如果程序员希望更改代码来修复bug,现有的调试工具需要重新启动应用程序才能继续调试。这样的调试方法给用户带来不必要的时间开销。软件动态更新技术是指软件在不中断运行的情况下将软件更新到新的版本。针对在调试状态下修改代码需要重新启动软件系统才能继续调试的问题,本文希望将软件动态更新应用于软件的调试状态。通过对现有的软件动态更新技术的研究,我们发现,有些动态更新工作不支持调试状态的更新,有些动态更新工作在对象更新时只使用默认的迁移器来完成对象的更新。针对现有技术的不足,本文提出了一种调试时软件动态更新方法。我们的方法能够在调试状态下进行代码更新,同时考虑了在对象更新的情况下,通过对象迁移器来完成对象更新。为了实现这样的目标,我们在一个现有的调试器平台上实现了我们的方法。我们将代码更新类型进行分类,根据具体的更新类型决定是否需要对象迁移器来完成更新。本文还进行了较为全面的案例分析。首先,分别在一些特定的更新实例上将我们的方法和现有的方法进行比较。经过实验结果的比较,本文提出的方法能够完成对多种更新类型的支持。其次,在一个应用系统实例上将我们的方法和现有的方法进行比较。经过实验结果的比较,本文所使用的对象迁移器能够正确地完成对象更新。
其他文献
视频中的异常检测是一项极具意义和挑战性的工作,不仅在日常的监控系统中有很大的应用价值,在计算机视觉中也是研究的重点,而现实生活中的监控场景大都是拥挤场景,例如车站,
面向Web Services的构件信息收集工具的设计与实现软件构件库为软件开发人员查找合适的构件提供了便利。目前软件构件库主要采用由构件开发者发布的方式来收集构件。而构件开
随着智能手机技术的发展,人们越来越多地把工作和生活的计算平台从传统的PC平台转移到移动平台。智能手机储存了大量的用户隐私,例如通信记录、位置信息等,因而成为攻击者的
量化的软件过程管理方法对于提高过程成熟度和软件产品质量起到了重要的作用,并且已经被业界广泛的接受。现有的方法存在下述问题:需要为每个过程独立的制定其度量策略,成本很高
随着Internet的快速发展和网络信息量的增长,Web信息已经成为当前人们生活必不可少的信息源。为了在Web这个大的信息库中查找、获取我们感兴趣的信息,我们通常的方式使用搜索引
随着P2P文件共享系统从以服务器为中心架构转变为弱中心或无中心的架构,传统的节点管理已经不能适应发展需求,因而导致了一些漏洞的产生。与此同时P2P的用户数量却在迅速增长,使
随着blog在全世界的流行,面向blog的Internet服务系统也越来越多。其中最常见的是blog搜索服务,也就是面向blog的垂直搜索引擎。尽管对blog的研究方兴未艾,但是很少有文献完整全
作为主流的分布式软件系统运行支撑平台,J2EE中间件封装了一组公共服务以提高分布应用的开发、部署、维护和演化的效率与质量。Internet的普及、中间件标准化的完善以及开源
随着嵌入式系统越来越广泛的使用,嵌入式系统中的数据存储和管理成为一个新的研究热点。Flash存储器拥有速度快,功耗低和价格便宜等众多优点,在嵌入式系统中被广泛用作数据存储
指代大量地出现在自然语言文本中,它对于简化表达、衔接上下文起着重要的作用,文本的概念关联性在很大程度上就是通过指代关系来刻画的。指代消解已成为许多自然语言处理应用中