From Lazarus wiki

English (en) suomi (fi)

A debugger is a program used to test and debug other programs. Often, when using the debugger, the program being scanned is compiled with special compiler settings which adds information for tracing errors. This way, the debugger knows what the source code file is named for and the line from which the code is executed. But when the program works well, you can remove this data and reduce the size of the binary.

Debuggers also monitor the contents of program variables and often produce a back-trace showing the instructions that were being executed immediately before a program failure occurred.

See also