Debugging
The debugger is in the bin\win32 or bin\dos directories (the GDB.EXE file), for the Windows and DOS versions respectively. It usually comes already installed in most Linux distros.
(Note: all commands should be typed without quotes and then [return] must be pressed.)

- Compile the sources using the -g cmd-line option to add debugging support.
- Load it in GDB using: `"gdb myapplicationname.exe"`
- Set the arguments to the application been debugged using: "set args arg1 arg2 argn". You can also run GDB and pass the arguments directly to the application been debugged: "gdb --args myapp.exe arg1 arg2 arg3".
- If the executable isn't in the same directory of the source files where it was compiled, type: `"dir path/to/my/application/sources"`.
- Place a breakpoint in the first line using: "b main". To place a breakpoint in a function called "abc" use: "b ABC" (note: all in uppercase, GDB is case sensitive by default, but you can use the "set language pascal" command to change GDB to case-insensitive mode).
- Type "r" to start the application.
- Type "n" to step over function calls. Keep pressing [return] to skip to the next line.
- Type "s" to step into function calls. Same as above.
- Type "c" to continue execution until the next breakpoint.
- Use "print ABC" to show the contents of the variable called "abc". GDB supports pointer/pointer field dereferencing, indexing and arithmetics too, so "print *MYPOINTER" will also work. (note: undeclared variables or the ones with suffixes like % & ! # $ can't be printed).
- Use "disp ABC" to display the contents of a variable called "abc".
- Use "watch ABC" to stop each time a variable called "abc" is changed.
- Use "r" again to restart the application when finished.
- Type "q" to quit.
- Type "help" to see a list of commands, there are many others.