| | |
Summary: J. Functional Programming 1 (1): 1--000, January 1993 c
fl 1993 Cambridge University Press 1
A Debugger for Standard ML 1
ANDREW TOLMACH
Dept. of Computer Science, Portland State University
P.O. Box 751, Portland, OR, USA 972070751
email: apt@cs.pdx.edu
ANDREW W. APPEL
Dept. of Computer Science, Princeton University,
35 Olden Street, Princeton, NJ USA 085442087
email: appel@cs.princeton.edu
Abstract
We have built a portable, instrumentationbased, replay debugger for the Standard ML of
New Jersey compiler. Traditional ``sourcelevel'' debuggers for compiled languages actually
operate at machine level, which makes them complex, difficult to port, and intolerant of
compiler optimization. For secure languages like ML, however, debugging support can
be provided without reference to the underlying machine, by adding instrumentation to
program source code before compilation. Because instrumented code is (almost) ordinary
source, it can be processed by the ordinary compiler. Our debugger is thus independent
from the underlying hardware and runtime system, and from the optimization strategies
|