source-level debugger definition programming, tool
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
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.