Some of the inherently difficult issues that will be faced by a designer of any imperative debugging language are surveyed. A powerful debugging language called GDL (General-purpose Debugging Language) is outlined, the particular set of mechanisms included in GDL is justified, and the issue of minimality of this set is addressed. The focus is especially on the semantic issues that arise when the language's mechanisms are combined, in short, the issue of being well-integrated. It is noted that GDL's mechanisms are well-integrated, but some mechanisms are rather inefficient for many debugging applications. However, in expanding GDL's mechanisms for such applications, new semantic problems arise. It is shown how these semantic problems can be avoided by following certain coding conventions.<<ETX>>
[1]
Richard H. Crawford,et al.
Sequential debugging at a high level of abstraction
,
1991,
IEEE Software.
[2]
Bernd Brügge,et al.
Generalized path expressions: A high-level debugging mechanism,
,
1983,
J. Syst. Softw..
[3]
Mark Scott Johnson.
The Design and Implementation of a Run-Time Analysis and Interactive Debugging Environment
,
1978
.
[4]
Charles E. McDowell,et al.
Debugging concurrent programs
,
1989,
ACM Comput. Surv..
[5]
Richard H. Crawford,et al.
A dataflow approach to event‐based debugging
,
1991,
Softw. Pract. Exp..
[6]
David R. Hanson,et al.
Event associations in SNOBOL4 for program debugging
,
1978,
Softw. Pract. Exp..