论文部分内容阅读
随着信息技术的不断发展,软件产品被应用到社会的每个角落。在软件开发过程中,保证软件的质量和保持软件的高效对于软件开发人员是一个巨大的挑战。软件质量是通过软件测试和调试来保证的。软件测试和调试是软件开发中非常频繁的一项任务。在软件调试时,如果程序员希望更改代码来修复bug,现有的调试工具需要重新启动应用程序才能继续调试。这样的调试方法给用户带来不必要的时间开销。软件动态更新技术是指软件在不中断运行的情况下将软件更新到新的版本。针对在调试状态下修改代码需要重新启动软件系统才能继续调试的问题,本文希望将软件动态更新应用于软件的调试状态。通过对现有的软件动态更新技术的研究,我们发现,有些动态更新工作不支持调试状态的更新,有些动态更新工作在对象更新时只使用默认的迁移器来完成对象的更新。针对现有技术的不足,本文提出了一种调试时软件动态更新方法。我们的方法能够在调试状态下进行代码更新,同时考虑了在对象更新的情况下,通过对象迁移器来完成对象更新。为了实现这样的目标,我们在一个现有的调试器平台上实现了我们的方法。我们将代码更新类型进行分类,根据具体的更新类型决定是否需要对象迁移器来完成更新。本文还进行了较为全面的案例分析。首先,分别在一些特定的更新实例上将我们的方法和现有的方法进行比较。经过实验结果的比较,本文提出的方法能够完成对多种更新类型的支持。其次,在一个应用系统实例上将我们的方法和现有的方法进行比较。经过实验结果的比较,本文所使用的对象迁移器能够正确地完成对象更新。