Semantic issues in the design of languages for debugging

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>>