Journal Article10.1145/1006142.1006179
A real-time microprocessor debugging technique
16
TL;DR: Red, a remotely executed debugger capable of generating a real-time source level trace history of a high level language program executing on a microprocessor, is described.
read more
Abstract: This note describes RED, a remotely executed debugger capable of generating a real-time source level trace history of a high level language program executing on a microprocessor. The trace history consists of a display of the source statements of each basic block executed, annotated by the time at which execution of that block began. Basic blocks are traced rather than statements to reduce sampling bandwidth requirements while still retaining the ability to record the essential logical flow of programs. RED is intended to assist in debugging stand-alone high level language process control programs with real-time constraints.We outline two possible implementation schemes for generating the real-time trace history. In both, a "debugging co-processor" collects in a history buffer the values of the program counter (PC) and the corresponding value of a clock as each basic block begins execution. The debugger, which runs on the processor hosting the compiler and has access to the co-processor over a fast link, reconstructs a source level trace from the PC-time pairs in the history buffer. In one scheme, the language compiler emits an extra instruction at the beginning of each basic block in the program to output the value of the program counter to a parallel port connected to the debug processor. The second method makes use of an extended target memory space to provide tag bits denoting basic blocks. When an instruction is fetched, the debug processor detects the presence of the tag bits and buffers up the value of the corresponding program counter and time. The first method is simpler to implement, requiring only conventional, usually straightforward hardware additions to the target, but requires the execution overhead of the extra instructions. In both cases the debugger itself runs on the host processor and has access to tables generated during compile time of the source program.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Testing the results of static worst-case execution-time analysis
Peter Puschner,R. Nossal +1 more
- 02 Dec 1998
TL;DR: The proposed test method is a blackbox test method that uses a genetic algorithm (GA) for test case generation that requires minimal information about possible impact data from the user and guides data generation into directions that have a good chance to yield the real WCET of the program under test.
107
Monitoring and debugging distributed real-time programs
TL;DR: This paper describes how the monitor can be used to debug distributed and parallel applications by deterministic execution replay and presents a novel approach to monitoring shared variable references that provides transparent monitoring with low overhead.
86
Patent
Method for real-time instruction information tracing
Yu-Min Wang
- 17 Sep 2003
TL;DR: In this paper, a method for real-time instruction information tracing for recording the information about a plurality of specific instructions executed by a processor is presented. But it does not address the problem of how to record the instruction information about the specific instruction executed by the processor.
16
A programmable debugging aid for real-time software development
TL;DR: This specialized hardware assists program debugging and testing and program performance evaluation and programperformance evaluation.
10
A user interface specification for a program debugging and measuring environment
TL;DR: This paper presents the results of a systematic attempt at defining the user interface to an environment for program debugging, program performance evaluation and program structure analysis.
10
References
Some requirements for architectural support of software debugging
Mark Scott Johnson
- 01 Mar 1982
TL;DR: The paper is written from the viewpoint of debugger implementor's view of architectural requirements that support the functionality, and is addressed primarily to computer architects.
71
The why and wherefore of the Cornell Program Synthesizer
TL;DR: The Cornell Program Synthesizer as mentioned in this paper is a syntax-directed programming environment that has been used in introductory programming courses since June, 1979, and has been widely used in computer science courses.
25
A new modula compiler for the LSI-11
TL;DR: This note contains a brief description of a new Modula compiler developed at Philips Laboratories that generates code for the LSI-11 microprocessor and operates under control of the U.S.C.D. system.
3
The why and wherefore of the Cornell Program Synthesizer
TL;DR: This paper presents the experience with the Cornell Program Synthesizer by introducing its main features, by presenting the basic principles of design, and by discussing important design decisions.
Related Papers (5)
Shikata Tarou,Katsuo Satoshi +1 more
- 10 Nov 1995
Onawa Hitoo,Yokota Kazunobu,Inaoka Hideyuki +2 more
- 26 Sep 1987
Ok Jae Cheol
- 25 Jan 2002
David Alan Edwards
- 07 May 2009