共查询到20条相似文献,搜索用时 15 毫秒
1.
针对可配置处理器特点提出一个基于模块化分层设计的调试器架构。该调试器架构具有较好的可复用性和可扩展性,易于移植到其他处理器。本文提出与具体目标机解耦的调试器设计方法,采用具有统一服务接口的目标调试层与具体目标机交互,使用XML格式文件存储目标机信息,通过目标机信息查询模块获取目标机信息。经工程实践表明,本调试器对可配置处理器支持良好。 相似文献
2.
近年来,随着RISC-V架构以其独特的开源、精简、模块化等优势在工业界快速铺开,市场中涌现出大量基于RISC-V架构的处理器IP核及基于RISC-V架构设计的片上系统(system on chip).现有调试器作为RISC-V软件开发过程中的一个重要部件,存在性能低、部署成本高以及二次开发难度大等问题,难以应对现今井喷发展的RISC-V架构芯片的RTL设计与验证、程序开发与调试、量产批量编程的需求.为了解决这些问题,本文提出一种全新的、开源的、模块化基于轻量级远程过程调用实现互操作的RISC-V调试协议栈方案—Morpheus.实验及分析结果表明,该调试方案能够有效提高调试性能,降低部署成本和二次开发难度. 相似文献
3.
4.
DWARF格式是一种常见的调试信息格式,它以节点作为存储调试信息的基本单元。BWDSP系列芯片的调试系统使用一种自主可控的算法分析C语言的DWARF调试信息。该方法首先读取.debug_abbrev节区,获得节点的缩略信息。然后读取.debug_info节区,获取调试信息节点属性的取值,并把这些调试信息存储为内部数据结构。该算法已经在BWDSP系列芯片的调试系统中得到成功的使用,实践验证了其可行性与正确性。 相似文献
5.
In the simultaneous localization of multiple software faults, a parallel debugging approach has consistently been utilized. The effectiveness of a parallel debugging approach is critically determined by the type of clustering algorithm and the distance metric used. However, clustering algorithms that group failed tests based on their execution profile similarity with distance metrics such as Euclidean distance, Jaccard distance, and Hamming distance are considered to be problematic and not appropriate. In this paper, we conducted an investigative study on the usefulness of the problematic parallel debugging approach that makes use of k‐means clustering algorithm (that groups failed tests based on their execution profile similarity) with Euclidian distance metric on three similarity coefficient‐based fault localization techniques in terms of localization effectiveness. Secondly, we compare the effectiveness of the problematic parallel debugging approach with one‐bug‐at‐a‐time debugging approach (OBA) and a state‐of‐the‐art parallel debugging approach named MSeer. The empirical evaluation is conducted on 540 multiple‐fault versions of eight medium‐sized to large‐sized subject programs with two, three, four, and five faulty versions. Our results suggest that clustering failed tests based on their execution profile similarity and the utilization of distance metrics such as Euclidean distance is indeed problematic and contributes to the reduction of effectiveness in localizing multiple faults. 相似文献
6.
嵌入式远程调试器的设计与实现 总被引:4,自引:0,他引:4
为解决嵌入式系统不支持本地调试,且开发周期较长的问题,提出了一种采用软件插桩技术针对嵌入式系统的远程调试方案;对嵌入式系统远程调试所采用的关键技术及其工作原理作了详细说明,介绍了调试器基本功能的实现过程、交叉调试所用到的远程通信协议,最后重点剖析了调试器的设计与实现要点;实践证明该设计方案较好地解决了嵌入式系统调试过程中受限于系统自身资源与空间的问题,缩短了系统开发周期,达到设计要求。 相似文献
7.
基于PVM的动态可伸缩并行调试器设计 总被引:2,自引:0,他引:2
PVM(parallel virtual machine)正在被越来越广泛地使用,但PVM应用程序的并行调试还是一个有待解决的难题。文中介绍了自行设计的基于PVM的动态可伸缩并行调试器ddbg,主要内容包括并行调试界面、总体设计和一些关键的实现技术。ddbg与其它已有的消息传递并行调试器相比,最大特点是其动态可伸缩结构,它能根据应用的需要自动分布调试服务。 相似文献
8.
王敬宇 《计算机工程与科学》2003,25(3):86-89
并行调试在并行程序开发环境中非常重要。本文基于当前流行的并行计算机体系结构,为并行调试工具研究一种一对多调试组件,以此克服传统方法面对越来越大的MPP系统的不适应。 相似文献
9.
梁成才 《计算机应用与软件》2001,18(5):43-48
Ada是美国国家军用标准编程语言。近年来,我国也开展了对Ada及其开发环境的研究工作。本文首先介绍高级语言开发环境中源级符号调试器的基本原理,然后给出了一个实用性的Ada源级调试器的设计和实现关键技术。 相似文献
10.
Lazy functional languages are declarative and allow the programmer to write programs where operational issues such as the evaluation order are left implicit. This should be reflected in the design of debuggers for such languages to avoid burdening the programmer with operational details, e.g. concerning the actual evaluation order. Conventional debugging techniques tend to focus too much on operational aspects to be suitable in this context. A record of the execution that only captures the declarative aspects of the execution, leaving out operational details, would be a viable basis for debugging lazy functional programs. Various declarative debugging tools could then be developed on top of such records. In this paper we propose a structure which we call the Evaluation Dependence Tree (EDT) for this purpose, and we describe two different construction methods. Performance problems are discussed along with possible solutions. 相似文献
11.
论文提出了一种基于片上仿真方式的调试器的硬件接口设计,为避免扫描链方法的问题,片上仿真模块采用映像寄存器方式实现,为了灵活性和可移植性,调试器软件采用了一种远程代理结构,所有硬件模块和软件模块都在拥有自主知识产权的32位高性能嵌入式CPU芯片CK·CORE配套调试器的设计中实现,并给出了与其他调试方式相比较的实验结果。 相似文献
12.
昌月楼 《计算机研究与发展》1995,(8)
本文简要介绍了SID(SymbolicInteractiveDebugger)的工作环境、功能及特点,设计思想及实现技术。银河-Ⅱ巨型机本身的复杂性决定SID的复杂性及难度,所以在研制SID时的一些设计思想和实现技术具有独到之处。 相似文献
13.
在嵌入式Linux软件开发中,可以通过宿主机GDB(GNU debugger)加目标机GDBserver的方式对嵌入式软件进行远程调试,GDB和GDBserver通过RSP(remote serial protocol)协议进行通信,这种方式可以显著提高开发效率;目前宿主机和目标机之间支持串口或网口方式建立连接,暂不支持USB(universal serial bus)接口。介绍了USB的相关概念及GDB远程调试原理,通过分析当前存在的调试模型,利用Linux设备端Gadget功能驱动实现了USB+GDB+GDBserver的远程调试模型。该模型弥补了现有模型的不足,USB接口的日益普及使得该模型在实际开发中带来了极大的便利。 相似文献
14.
缺乏调度器标准是难以评估一个调试器优劣的重要原因,本文介绍了旨在解决问题的第一个调度标准--高性能调试论坛(HPDF)制定的高性能调试器标准版本1(HPDV1)。重点阐述了并行调试概念和调试器的并行行为。 相似文献
15.
This article is a survey on the recent progress of some hot topics of software engineering. The survey is based on the review on the papers of three premier conferences on software engineering from 2012 to 2013. Through the quantitative analysis on these papers, there are three hot topics identified, software testing, debugging, and analysis. Focusing on these three topics, this article summarizes some new achievements in these fields, analyzesthe characteristics of these works, and points out some directions for future research. 相似文献
16.
17.
T. Fahringer K. Sowa‐Pieko P. Czerwiski P. Brezany M. Bubak R. Koppler R. Wismüller 《Concurrency and Computation》2002,14(2):103-136
Debuggers play an important role in developing parallel applications. They are used to control the state of many processes, to present distributed information in a concise and clear way, to observe the execution behavior, and to detect and locate programming errors. More sophisticated debugging systems also try to improve understanding of global execution behavior and intricate details of a program. In this paper we describe the design and implementation of SPiDER, which is an interactive source‐level debugging system for both regular and irregular High‐Performance Fortran (HPF) programs. SPiDER combines a base debugging system for message‐passing programs with a high‐level debugger that interfaces with an HPF compiler. SPiDER, in addition to conventional debugging functionality, allows a single process of a parallel program to be expected or the entire program to be examined from a global point of view. A sophisticated visualization system has been developed and included in SPiDER to visualize data distributions, data‐to‐processor mapping relationships, and array values. SPiDER enables a programmer to dynamically change data distributions as well as array values. For arrays whose distribution can change during program execution, an animated replay displays the distribution sequence together with the associated source code location. Array values can be stored at individual execution points and compared against each other to examine execution behavior (e.g. convergence behavior of a numerical algorithm). Finally, SPiDER also offers limited support to evaluate the performance of parallel programs through a graphical load diagram. SPiDER has been fully implemented and is currently being used for the development of various real‐world applications. Several experiments are presented that demonstrate the usefulness of SPiDER. Copyright © 2002 John Wiley & Sons, Ltd. 相似文献
18.
根据嵌入式开发的特点,采用构件组装技术对基于仿真器的调试器进行设计,模块化各个部件,减少仿真器和调试器的耦合性,使基于仿真器的调试器能够适应多种仿真器,具有调试信息存储和解耦功能模块的能力,实现了调试功能的可扩展性.此外,结合当前主流调试技术,阐述了ELF文件格式,对源码级调试器的原理、使用方法和运行性能进行了重点分析. 相似文献
19.
20.
The behaviour of programs for multiprocessors may be indeterminate, due to processor timing variations. This poses a problem for cyclic debugging, since a bug may disappear from one execution to another. Replay is an elegant solution to this problem, in which ‘sufficient’ information is recorded in a log. This information is then used to control subsequent executions of the same program so that repeatability is guaranteed. Interrupts are another source of non-determinism, even in sequential programs. This paper presents an extension of the well-known Instant Replay method, termed Interrupt Replay, for replaying programs in the presence of interrupts. The correctness of Interrupt Replay is based on the assumption that there are no interrupt races: an interrupt service routine must not access data that is also accessed by the foreground process whenever the interrupt is enabled. If such races are present then replay may fail to produce deterministic results. This assumption is similar to the basic assumption of Instant Replay that shared variables are properly protected by mutual exclusion. Also as in Instant Replay, it is assumed that the behaviour of the environment (input data, external interrupts) is replayed by some other tracing mechanism. 相似文献