共查询到17条相似文献,搜索用时 163 毫秒
1.
2.
嵌入式软件测试中,代码覆盖率测试和内存检测通过给程序源代码插桩,在程序动态运行的过程中搜集测试数据;但是这种插桩无法获取进程每次运行的时间。基于进程切换的内核taskhook插桩,是通过对Linux2.6操作系统内核进行分析,建立了进程监控的插桩点选取,获取进程生命周期中的时间相关的指标,最终实现程序的任务性能测试。 相似文献
3.
插桩技术作为一种有效理解程序动态行为的手段,已经被广泛应用于程序分析、测试和验证中。然而,由于缺少通用的插桩工具,各种具体的应用往往需要从头开发特定的插桩程序,存在着大量的重复性工作。此外,由于在原始程序中插入了大量额外代码,致使调试过程变得更加复杂和困难。针对这些问题,提出了一个基于Eclipse的通用Java代码插桩工具,即通过规则定义匹配程序的执行点,从而定制针对各种分析、测试和验证插桩需求的支持。通过对插桩代码片段的显式/隐式切换实现其可见性管理,从而确保程序的理解和调试过程不受插桩代码影响。通过使用该工具,可以更好地将插桩技术应用于Java程序开发中。 相似文献
4.
基于事务性执行的投机并行多线程是一种适合未来多核微处理器架构的新型并行程序设计和编译技术.但在此基础上的并行程序执行过程更为复杂,程序执行过程的模拟成为关键问题之一.本文提出利用二进制代码级动态插桩技术对投机并行多线程程序进行功能性模拟,设计并实现了完整的软件平台,可精确地模拟和监控并行程序的线程级投机执行过程,检测访存冲突,从而实现投机并行多线程的语义.该软件平台同时可以作为进一步研究投机多线程并行程序真实执行过程的基础,并有效支持投机并行多线程编译器的设计和分析. 相似文献
5.
6.
7.
一种具有快速条件断点的并行程序调试器 总被引:4,自引:0,他引:4
快速条件断点是高性能并行程序调试器中进程控制必备的功能之一.分析了快速条件断点基本原理以及快速条件断点设计中需要考虑的代码生成、代码插装和源程序对应等问题.并针对上述问题,提出了预编译与运行时编译结合的代码生成方式、动态代码插装、源断点标识技术等解决方案.利用经过改进的动态补丁码工具Dyninst,设计实现了并行程序调试器XBUSTER,并实现了快速条件断点这一重要功能.测试表明,XBUSTER的执行效率比传统条件断点高.与现有的基于动态插装的系统,如Ceder,ldb和Dyner相比,XBUSTER具有功能性强、可移植性好等鲜明特点. 相似文献
8.
9.
插桩技术用于跟踪获取软件系统的运行时信息,是软件性能管理工具中不可或缺的一个部分。目前,存在的各类插桩工具所产生的插桩点在目标程序运行的过程中往往是不可改变的。在实际的程序异常、错误检测中,用户关心的程序代码的位置在不同阶段往往不同,因此目标程序运行的不同阶段所需要获取信息的插桩点位置是不同的,如果插桩点过多会导致插桩工具浪费系统资源,产生系统资源消耗过大的问题;插桩点过少则会导致无法准确定位目标软件发生异常位置。针对以上问题,使用基于线性回归和K-Means的分析模型,分析目标软件的性能数据,在其运行过程中动态地改变插桩点,尽可能的减少资源的消耗;另外,采用朴素贝叶斯分类模型对插桩类进行筛选,减少植入插桩点的类,可降低插桩带来的资源消耗。实验表明:与传统的工具相比,使用此插桩框架进行监控,被测网页的平均响应时间减少6.88%,同时对目标程序的干扰更小。 相似文献
10.
11.
12.
本文介绍了并行程序动态性能监测的一般概念和方法。在分析PVM内部跟踪机制及其在动态跟踪方面缺陷的基础上,对其进行了相应的改进和扩充,并在一个基于PVM的并行程序可视化性能分析系统VENUS中得到了实现。 相似文献
13.
动态分析是程序理解的重要方法,而插装技术是其中常用的关键技术之一.介绍了QESat/C 中动态分析子系统的插装策略,在其基础上提出并实现了新的插装器并改进了插装探针库的效率.实验表明,改进后的动态分析子系统具有插装速度快、动态结果文件小、动态信息合并效率高的优点.展望了现有系统如何支持新的动态分析技术,最后对全文进行了总结. 相似文献
14.
动态内存分配为C/C++语言编程人员提供了极大的灵活性,但同时也带来了一个潜在的严重问题——内存泄露。与桌面系统相比,嵌入式系统处理能力弱、内存空间小、运行时间长,如果在程序运行期间发生内存泄露,将导致系统崩溃,造成不可预料的后果,因此需要在开发调试阶段尽早检测出造成内存泄露的代码。提出了一种基于动态检测技术和程序插装技术的嵌入式软件内存泄露分布式检测方法。该方法的实现思想是当程序在目标机运行时,插装代码自动截获内存操作函数,收集内存操作相关信息并把收集到的信息发送到服务器端处理,实现了嵌入式系统内存泄露的准确检测。实验结果证明,由于采用分布式技术进行信息处理,内存泄露检测效率得到了很大的提升。 相似文献
15.
Recording address traces that occur during a program execution is a significant technique for computer performance analysis. This paper describes a software method for address tracing via the instrumentation of C based languages. All program transformations are performed at the language level. This approach, which differs from the usual methods, allows portable and flexible program instrumentation. This tool has been developed to make easier the memory optimization of LIREChèques, an automatic bank check reading system. Two applications of the tool are clearly identified: (i) data cache use optimization, (ii) dynamic memory use optimization. 相似文献
16.
17.
随着软件系统功能的日益强大,软件编写的代码量呈指数趋势增长,程序错误控制和程序性能优化变得越来越困难。为了在代码量增加的情况下,有效控制程序质量,改进程序性能,程序员大多采用动态二进制分析工具进行程序分析。动态二进制代码插入框架有效地简化了动态二进制工具的构建,因此准确掌握每种动态二进制代码插入框架的特征,成为准确构建不同工具的前提。本文通过对常用的五种二进制代码插入框架进行深入研究分析,总结归纳了每种框架的特点和特定情况下的适用性,为在工具构建过程中进行框架的准确有效选择提供了参考。 相似文献