<
programming, tool> A
debugger that shows the programmer the
line or
expression in the
source code that resulted in a
particular
machine code instruction of a running program
loaded in memory. This helps the programmer to analyse a
program's behaviour in the high-level terms like source-level
flow control constructs,
procedure calls, named
variables, etc instead of machine instructions and memory
locations. Source-level debugging also makes it possible to
step through execution a line at a time and set source-level
breakpoints.
In order to support source-level debugging, the program must
be compiled with this option enabled so that extra information
is included in the executable code to identify the
corresponding positions in the source code.
A
symbolic debugger is one level lower - it displays symbols
(procedure and variable names) stored in the executable but
not individual source code lines.
GDB is a widely used example of a source-level
debugger.
(2007-04-03)