Guide to ldb sources
This is a quick sketch of what's in the ldb sources and where.
I discuss things in the order in which they're built.
This guide might help you if something goes wrong in the build
It will definitely help you get started if you want to read,
understand, or modify parts of ldb.
First, to build the debugger:
To build the debug nub you need
- Righteous quake code to support ldb.
Includes all sorts of templates for C, Icon, and more.
- A library of Modula-3 code used in ldb but not ``debugger-related.''
- Preprocessor for implementing PostScript operators.
This take a compact description of a PostScript operator and generates
Modula-3 code to implement that operator.
It's an Icon program.
- Library for ldb's embedded PostScript interpreter.
Also useful standalone or in other applications.
- Support for machine-code manipulation.
This is a very early version of the
New Jersey Machine-Code Toolkit.
It's also an Icon program.
- The debugger, which is divided into pieces.
The top-level source directory contains main routines and some path
stuff that isn't quite right yet.
The mdep subdirectory contains all the machine-dependent
All the common stuff is in cdb.
- The auxiliary PostScript code that ldb uses dynamically.
- A difference tool used to build the expression server.
- Expression server used for expression evaluation.
- The same quake code is used to build both debugger and nub.
- Ldb's special linker---a nasty shell script.
- The Debug nub itself---both machine-dependent and
It's written in C and assembly language, and the C parts must be
compiled with lcc.