Computer Science – Programming Languages
Scientific paper
1999-04-23
Software--Practice & Experience, vol. 29, no. 10, 849-862, Aug. 1999
Computer Science
Programming Languages
12 pages; 6 figures; 3 tables
Scientific paper
Most debuggers are notoriously machine-dependent, but some recent research prototypes achieve varying degrees of machine-independence with novel designs. Cdb, a simple source-level debugger for C, is completely independent of its target architecture. This independence is achieved by embedding symbol tables and debugging code in the target program, which costs both time and space. This paper describes a revised design and implementation of cdb that reduces the space cost by nearly one-half and the time cost by 13% by storing symbol tables in external files. A symbol table is defined by a 31-line grammar in the Abstract Syntax Description Language (ASDL). ASDL is a domain-specific language for specifying tree data structures. The ASDL tools accept an ASDL grammar and generate code to construct, read, and write these data structures. Using ASDL automates implementing parts of the debugger, and the grammar documents the symbol table concisely. Using ASDL also suggested simplifications to the interface between the debugger and the target program. Perhaps most important, ASDL emphasizes that symbol tables are data structures, not file formats. Many of the pitfalls of working with low-level file formats can be avoided by focusing instead on high-level data structures and automating the implementation details.
No associations
LandOfFree
A Machine-Independent Debugger--Revisited does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.
If you have personal experience with A Machine-Independent Debugger--Revisited, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and A Machine-Independent Debugger--Revisited will most certainly appreciate the feedback.
Profile ID: LFWR-SCP-O-626906