An interactive high-level debugger for control-flow optimized programs

An interactive high-level debugger for control-flow optimized programs
复制标题

用于控制流优化程序的交互式高级调试器

DOI:
10.1145/1006147.1006183
复制
发表时间:
1983
期刊:
Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
通讯作者:
P. Zellweger
P. Zellweger
中科院分区:
--
文献类型:
--
作者:
P. Zellweger

文献摘要

被引文献

相似文献

优化编译器执行的转换传统上阻碍了源语言术语中的交互式调试。一个名为 Navigator 的原型系统已经开发出来,用于调试用 Cedar(一种类似 Algol 的语言)编写的优化程序。 Navigator 可用于在存在两种优化的情况下监视程序执行流程:内联过程扩展和交叉跳转(合并加入的代码路径的相同尾部)。本文介绍了这两种优化为调试带来的问题以及 Navigator 针对这些问题的解决方案。所选方法在编译的优化阶段收集额外的信息。在运行时,Navigator 使用附加信息向程序员隐藏优化的效果。
The transformations performed by an optimizing compiler have traditionally impeded interactive debugging in source language terms. A prototype system called Navigator has been developed for debugging optimized programs written in Cedar, an Algol-like language. Navigator can be used to monitor program execution flow in the presence of two optimizations: inline procedure expansion and cross-jumping (merging identical tails of code paths that join). This paper describes the problems that these two optimizations create for debugging and Navigator's solutions to these problems. The selected approach collects extra information during the optimization phases of compilation. At runtime, Navigator uses the additional information to hide the effects of the optimizations from the programmer.