# Debugging Go programs with the GNU Debugger
30 Oct 2011
Tags: debug, gdb, technical
Summary: Announcing a new article about debugging Go programs with GDB.

Andrew Gerrand

##

Last year we [reported](https://blog.golang.org/2010/11/debugging-go-code-status-report.html)
that Go's [gc](https://golang.org/cmd/gc/)/[ld](https://golang.org/cmd/6l/)
toolchain produces DWARFv3 debugging information that can be read by the GNU Debugger (GDB).
Since then, work has continued steadily on improving support for debugging Go code with GDB.
Among the improvements are the ability to inspect goroutines and to print
native Go data types,
including structs, slices, strings, maps,
interfaces, and channels.

To learn more about Go and GDB, see the [Debugging with GDB](https://golang.org/doc/debugging_with_gdb.html) article.
