Difference between revisions of "Debugger Setup"

From Lazarus wiki
Jump to navigationJump to search
m (→‎GDB Version: Note about working version)
Line 38: Line 38:
  
 
GDB 7.5 is not supported by Lazarus 1.0. It can be used with trunk only.
 
GDB 7.5 is not supported by Lazarus 1.0. It can be used with trunk only.
 +
 +
GDB 7.7.1 seems to work well with Lazarus 1.2.4.
  
 
= See also =
 
= See also =

Revision as of 01:56, 24 July 2014

Configure the IDE

In order to be able to debug any of your projects, you need to make sure a the IDE is correctly configured.

These settings do not usually change. You need to make them only once after you installed Lazarus, or if you changed/updated your installation

Open the Lazarus option dialog

Dbg setup options1.png

The image shows where to find the option dialog in Lazarus 0.9.31 and up. In previous versions the entry is in the "Environment" menu.


Dbg setup options2.png

  • Make sure that the option "Gnu debugger (GDB)" is selected.
  • The path to gdb.exe may differ:
    • On Linux/Unix based systems it may be something like "/usr/bin/gdb"
    • On Windows it should be in a folder called "mingw\bin\" under the directory in which Lazarus is installed.

Project Options

In order to debug your project, you need to tell the IDE to compile it in a special way, which provides additional information required by the debugger.

Please note: This will considerably increase the size of your executable (See FAQ). If you want to build a release version of your software you should switch those settings off (see also Build Modes)

The required settings are made in the "Project Options" dialog:

Dbg setup project1.png Dbg setup project2.png
  • You must enable the "Generate Debug Info for GDB"
    • On Windows/Linux 32 bit it is highly recommended to use "Dwarf"
      Dbg setup project3.png
  • You must not use any of the following
    • "Strip Symbols"
    • "Link Smart"
    • Any optimization other than "Level 1" (or "Level 0")
      Dbg setup project4.png

GDB Version

GDB 7.5 is not supported by Lazarus 1.0. It can be used with trunk only.

GDB 7.7.1 seems to work well with Lazarus 1.2.4.

See also

External links