Ultimate Debugging

Learn the latest tips, tricks, and best practices around debugging in Golang.

Course Description

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.

Important: Upon completion of each session, there will be a video recording available for download. An email with instructions to access them will be sent.

Format

Intensity: 16 hours, 2 session(s) per week, 2 hrs per session, 8 sessions total

When: Starts March 7 and ends March 31st

Time: Noon EST to 2 PM EST

Sessions:

  • Tuesday, March 7
  • Friday, March 10
  • Tuesday, March 14
  • Friday, March 17
  • Tuesday, March 21
  • Friday, March 24
  • Tuesday, March 28
  • Friday, March 31

Agenda:

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

About Derek Parker

Derek is the creator of Delve, the Go programming language debugger. He has been developing software for over a decade and has traveled the world speaking at conferences and teaching workshops about debugging. After years of experience, Derek has put together the Ultimate Go Debugging workshop to level up developers of all skill levels in the art of debugging code.

Prerequisites

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 c