Using GDB with the command line tools
The Gazebo command line tools are based on Ruby. If you want to use GDB to debug a problem, which we highly encourage, then you'll need to run GDB against the Ruby executable. Once in the GDB shell, you can run the ign gazebo
script to run an instance of Gazebo.
You'll likely want to debug the Gazebo server or GUI separately. Refer to the following two sections for instructions concerning each case.
Debugging the server
Find the
ign
executable:which ign
The following instructions will assume the output was
/usr/bin/ign
, be sure to change it accordingly.Launch
gdb
``` gdb ruby ```
Run the Gazebo server with the desired arguments. Make sure to use the
-s
argument. The following example runs theshapes.sdf
world.``` (gdb) r /usr/bin/ign gazebo -s shapes.sdf ```
- Use GDB as normal
Debugging the GUI
Launch
gdb
``` gdb ruby ```
Run the Gazebo GUI with the desired arguments. Make sure to use the
-g
argument.``` (gdb) r /usr/bin/ign gazebo -g ```
In another terminal run the Gazebo server.
``` ign gazebo -s -v 4 -r shapes.sdf ```
- Use GDB as normal.