A Machine-Independent Debugger--Revisited
David R. Hanson

TL;DR
This paper revisits a machine-independent debugger for C, optimizing its design by storing symbol tables externally, reducing space and time costs, and emphasizing high-level data structure management over low-level file formats.
Contribution
The paper presents a revised design of cdb that halves space costs and reduces time costs by storing symbol tables externally, using ASDL for concise and automated data structure handling.
Findings
Space cost reduced by nearly 50%
Time cost reduced by 13%
Symbol tables managed as high-level data structures
Abstract
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,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques
