Course Introduction
This course is designed for developers who want to become proficient debugging Go software using the Delve debugger. Whether you’ve never used a debugger in your life or are a Delve expert, everybody will walk away with new information that can be used in their day to day development workflow.
The course will initially focus on Delve, which is the de facto Go debugger. We will start with the basics and move into more advanced use cases over the 5 days. On the last day of class, we will dig into new tools and cover profiling / perf tools, how to use them effectively, and how to interpret the data for root cause analysis.
At the end of the subscription period, your membership does not automatically renew.
Requirements:
A basic understanding of the Go programming language. Students do not have to be expert Go users, but they will get the most from the workshop if they have completed the majority of the [Go Tour] (https://tour.golang.org/).
Course Outline
Day 1:
- Introduction, getting started, navigating your program, inspecting program state, changing program state.
Day 2:
- Advanced program navigation, tracing your program, examining core dumps (post-mortem debugging). Part 1
Day 3:
- Advanced program navigation, tracing your program, examining core dumps (post-mortem debugging). Part 2
Day 4:
- Scripting Delve, remote debugging, using the JSON-RPC API, record and replay debugging.
Day 5:
- Debugging containerized applications, debugging an application on Kubernetes. Part 1
Day 6:
- Debugging containerized applications, debugging an application on Kubernetes. Part2
Day 7:
- Using proof profiling tools, using perf on Go binaries, and deep dive into Delve and Go internals. Part 1
Day 8:
- Using proof profiling tools, using perf on Go binaries, and deep dive into Delve and Go internals. Part 2