Type Switch
Syntax {$L+} or {$L-}
{$LOCALSYMBOLS ON} or {$LOCALSYMBOLS OFF}
Default {$L+}
{$LOCALSYMBOLS ON}
Scope Global
The $L switch directive
enables or disables the generation of local symbol information. Local symbol
information consists of the names and types of all local variables and
constants in a module, that is, the symbols in the module's implementation part
and the symbols within the module's procedures and functions.
For units, the local symbol
information is recorded in the unit file along with the unit's object code.
Local symbol information increases the size of unit files and takes up
additional memory when compiling programs that use the unit, but it does not
affect the size or speed of the executable program.
When a program or unit is compiled
in the {$L+} state, the integrated debugger lets you examine and modify
the module's local variables. Furthermore, calls to the module's procedures and
functions can be examined via the View|Call Stack.
The Include TD32 debug info and
Map file options on the Linker page of the Project|Options dialog box produce
local symbol information for a given module only if that module was compiled in
the {$L+} state.
The $L switch is usually used in conjunction with the $D switch, which enables and disables the generation of line-number tables for debugging. The $L directive is ignored if the compiler is in the {$D-} state.