Computer program debugging in the presence of compiler synthesized variables

作者: Gary S. Brooks , Steven M. Simmons

DOI:

关键词: Programming languageTable (database)ProgrammerScope (computer science)Program counterDebuggingSet (abstract data type)DebuggerVariable (computer science)Computer science

摘要: A debugger is used in an environment of optimized compiling to track both user-defined and synthesized variables so that the values these at selected programmer counter addresses can be either determined or set. The tracking primarily accomplished by generation various interrelated tables including a Type Scope Table, Name Space Expression Location Range Table Variable Table. These define existence defined program ranges provide algebraic definitions for variables. efficiently debug produced with through operations determining variable setting values.

参考文章(11)
Ravi Sethi, Jeffrey D. Ullman, Alfred V. Aho, Compilers: Principles, Techniques, and Tools ,(1986)
Clinton Goss, Peter Whyte, Richard Rosenberg, Compilers using a universal intermediate language ,(1984)
W.H. Harrison, Compiler Analysis of the Value Ranges for Variables IEEE Transactions on Software Engineering. ,vol. SE-3, pp. 243- 250 ,(1977) , 10.1109/TSE.1977.231133
David Wall, Amitabh Srivastava, Fred Templin, A note on Hennessy's “symbolic debugging of optimized code” ACM Transactions on Programming Languages and Systems. ,vol. 7, pp. 176- 181 ,(1985) , 10.1145/2363.215005
Polle T. Zellweger, An interactive high-level debugger for control-flow optimized programs (Summary) Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on High-level debugging. pp. 159- 171 ,(1983) , 10.1145/800007.808029
D. S. Coutant, S. Meloy, M. Ruscetta, DOC: a practical approach to source-level debugging of globally optimized code programming language design and implementation. ,vol. 23, pp. 125- 134 ,(1988) , 10.1145/960116.54003
John Hennessy, Symbolic Debugging of Optimized Code ACM Transactions on Programming Languages and Systems. ,vol. 4, pp. 323- 344 ,(1982) , 10.1145/357172.357173
Urs Hölzle, Craig Chambers, David Ungar, Debugging optimized code with dynamic deoptimization programming language design and implementation. ,vol. 27, pp. 32- 43 ,(1992) , 10.1145/143095.143114
Bert Beander, VAX DEBUG: an interactive, symbolic, multilingual debugger Sigplan Notices. ,vol. 8, pp. 173- 179 ,(1983) , 10.1145/1006142.1006185