Debugging

FreeBASIC

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.