Acid is an unusual source-level symbolic debugger for Plan 9. It is implemented as a language interpreter with specialized primitives that provide debugger support. Programs written in the language manipulate one or more target processes; variables in the language represent the symbols, state, and resources of those processes. This structure allows complex interaction between the debugger and the target program and provides a convenient method of parameterizing differences between machine architectures. Although some effort is required to learn the debugging language, the richness and flexibility of the debugging envi ronment encourages new ways of reasoning about the way programs run and the conditions under which they fail.
[1]
Mark A. Linton,et al.
The Evolution of Dbx
,
1990,
USENIX Summer.
[2]
Ken Thompson,et al.
Plan 9 from Bell Labs
,
1995
.
[3]
Paul Maybee.
NeD: The Network Extensible Debugger
,
1992,
USENIX Summer.
[4]
Richard H. Crawford,et al.
Dalek: A GNU, Improved Programmable Debugger
,
1990,
USENIX Summer.
[5]
Greg Schaffer,et al.
Efficient debugging primitives for multiprocessors
,
1989,
ASPLOS III.
[6]
Rob Pike.
Acme: A User Interface for Programmers
,
1994,
USENIX Winter.
[7]
David R. Hanson,et al.
DUEL - A Very High-Level Debugging Language
,
1993,
USENIX Winter.