GDB does quite a lot of things, and generally everything it does works in the context of uCR applications. GDB can examine threads, variables and registers, step through code, dump memory and assign values to memory. The capabilities are too numerous to mention here, so this section only describes the behaviors unique to the GDB/uCR combination.