The approach taken in the building of the prototype described throughout this paper combines program simulation and interpretation techniques with run-time executable modification techniques to provide an integrated environment for function-level interpretation. This has been achieved without the modification of an existing compiler and also without the enhancement of the compiler-debugger interface (CDI); thereby allowing direct application of the debugger in current operational environments.
This paper describes the construction of gpdb; a debugger for the Gardens Point compiler environment. This debugger has proved to be fundamental for the production of an interactive development environment which allows an optimised program to be run; corrected; modified; and even further developed without the need for the recompilation of the executable program; or the resetting of the debugging environment.
Proceedings of the 3rd International Workshop on Automatic Debugging; 1997 (AADEBUG-97)
[BHS92] Brooks; G.; Hansen; G.J. and Simmons; S. ANew Approach to Debugging Optimised Code. In Proceedings of the SIGPLAN ‚Äė92 Conference on Programming Language Design and Implementation; SIGPLAN Notices; v27(7); pp 1-11; San Francisco; California; June 1992; ACM Press.
[CiGo93] Cifuentes C. and Gough; K.J. A Methodology for Decompilation. In Proceedings of the XIX Conferencia Latinoamericana de Inform√°tica; pp 257-266; Buenos Aires; Argentina; August 1993. Centro Latinoamericano de Estudios en Inform√°tica.
[CmKe93] Cmelik; R.F. and Keppel D. Shade: A Fast Instruction-Set Simulator for Execution Profiling. TR# 93-06-06. University of Washington; June 1993.
[Copp93] Copperman; M. Debugging Optimised Code Without Being Misled. PhD Thesis; TR# UCSC-CRL-93-21. University of California; Santa Cruz; May 1993.
[GLE94] Gough; K.J.; Ledermann; J. and Elms; K. Interpretive Debugging of Optimised Code; Proceedings of ACSC-17; Christchurch; 1994.
[Goug95] Gough; K.J. The DCode Intermediate Program Representation Reference Manual and Report; available from ftp.fit.qut.edu.au/pub /papers/dcode300.ps.Z; 1995.
[HCU92] H√∂lzle; U.; Chambers; C. and Ungar D. Debugging Optimised Code with Dynamic Deoptimization. In Proceedings of the SIGPLAN ‚Äė92 Conference on Programming Languages Design and Implementation; SIGPLAN Notices. v27(7); pp 32-43; San Francisco; California; June 1992; ACM Press.
[Henn82] Hennessy; J. Symbolic Debugging of Optimised Code. In ACM Transactions on Programming Languages and Systems; v4(3). pp 323-344; July 1982.
[Ho91] Ho; W.W. DLD: A Dynamic Link/Unlink Editor (v3.2.3). University of California Davis; 1991.
[Kess90] Kessler; P. Fast Breakpoints: Design and Implementation. In Proceedings of the ACM SIGPLAN ‚Äė90 Conference on Programming Language Design and Implementation; SIGPLAN Notices; v25(6). pp 78-84; June 1990.
[Paxs90] Paxson; V. A Local Agent Architecture for Implementing Efficient Breakpoint Debuggers. CS 262; EECS Department; University of California; Berkeley; 1990.
[PeSi79] Perkins; S.R. and Sites; R.L. Machine Independent Pascal Code Optimisation. In Proceedings of the SIGPLAN Symposium on Compiler Construction; pp 201-207; 1979.
[Pizz93] Pizzi; R. GNU Debugger Internal Architecture. University of California Davis; December 1993.
[RaHa92] Ramsey; N. and Hanson D.R. A Retargetable Debugger. In Proceedings of the SIGPLAN ‚Äô92 Conference on Programming Language Design and Implementation; SIGPLAN Notices; v27(7); pp 22-31; July 1992.
[Rams93] Ramsey; N. A Retargetable Debugger. PhD Thesis; Princeton University; Princeton; NJ; january 1993.
[Sosi92] Sosic; R. Dynascope: A Tool for ProgramDirecting. In Proceedings of the SIGPLAN ‚Äô92 Conference on Programming Language Design and Implementation; SIGPLAN Notices; v27(6); pp 12-21; June 1992.
[Sosi95] Sosic; R. A Procedural Interface for Program Directing. Software Practice and Experiences; v25(7); pp 767-787; July 1995.
[Wirt71] Wirth; N. The Design of the Pascal Compiler. Software Practice and Experience. v1(4); pp 309-333; 1971.
[Wism94] Wism√ľller; R. Debugging of Globally Optimised Programs Using Data Flow Analysis. In Proceedings of the SIGPLAN ‚Äô94 Conference on Programming Language Design and Implementation; SIGPLAN Notices; v29(4); pp 278-289; June 1994.
[Zell83] Zellweger; P.T. An Interactive High-Level Debugger for Control-Flow Optimised Programs. In Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on High-Level Debugging; 1983.
[Zura91] Zurawski; L.W. Debugging Optimised Code with Expected Behaviour; University of Illinois at Urbana-Champaign; 1991.