Debugging
- Using
gdb
can greatly help you track down issues in your program
- Among other features, it enables you to step through the code, examine variables, and break on certain lines
- use
ros2 run --prefix "gdb --args" package node
to launch the node in gdb
- Commands that may be useful are
tui enable
to view a graphical interface with easier commands
run
start running the program. Abbreviated with r
continue
continue running a paused program. Abbreviated with c
break file:line
or break function
to put a breakpoint at a line or a function. Abbreviated with b
next
go to the next line, skipping over functions. Abbreviated with n
step
go to the next line, jumping into functions. Abbreviated with s
print
display the value of a variable or memory address
- To use
gdb
most effectively, the code must be compiled with Debugging symbols enabled
- Use the
Debug
build type in CMake
. See CMake Notes for how to set debugging mode
- This tutorial helps you launch nodes the debugger