Skip to main content

The Ultimate Guide to Debugging With Go

3h 41m 59s
English
Paid

The most important skill you were never taught. The ability to debug code locally and in production is critically important for any Go engineer, yet it is almost never directly taught. It took me years of working with Go in production to truly master debugging, and now I want to accelerate your learning by sharing everything I wish I had known at the start of my journey.

Course Highlights

This course is designed to be concise and practical, focusing solely on essential debugging skills.

  • No unnecessary information: Brief lessons with practical recommendations ensure that you stay focused on what's important.
  • Beginner-friendly approach: Debugging experience is not required. We start with the basics and progress to advanced topics, making sure everyone can follow along.

Course Structure

Beginner Topics

We will cover the fundamentals of debugging Go code, ensuring a solid foundation for all participants.

Advanced Topics

Once the basics are mastered, we'll dive into advanced debugging techniques to tackle more complex issues.

Why this Course?

By the end of this course, you will possess a comprehensive understanding of debugging in Go, enabling you to solve problems efficiently both in local and live production environments.

About the Authors

ByteSizeGo

ByteSizeGo thumbnail
The ByteSizeGo channel on YouTube is dedicated to teaching programming and technology. It offers concise and understandable lessons on various aspects of software development, covering topics such as programming in different languages, working with tools and platforms, as well as career advice in IT. The videos are aimed at developers of all levels and help quickly master new skills.

Matt Boyle

Matt Boyle thumbnail
Matt Boyle is an experienced technical leader in the field of distributed systems, specializing in the use of Go. He has worked at major companies such as Cloudflare and General Electric, as well as at rapidly growing startups like Curve and Crowdcube.

Watch Online 38 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 38 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Welcome!
All Course Lessons (38)
#Lesson TitleDurationAccess
1
Welcome! Demo
00:54
2
What is Debugging and why do we do it?
02:07
3
Introduction
02:13
4
Understanding code patterns and being aware of common errors
04:31
5
Exercise Solution
04:38
6
Pair Programming
04:01
7
Story Time - How I used these techniques to solve a production issue
02:22
8
Introduction to Logging
00:36
9
Logging Locally, the simple way
12:17
10
Logging for production; slog and log levels
08:09
11
Logging for production; slog,kibana and elastic search
13:47
12
Exercise Solution
15:01
13
Bonus Lesson: httputil
02:25
14
Introduction to the Debugger
01:17
15
Setting up the Debugger in Goland
01:06
16
Setting up the debugger in VSCode
02:31
17
Reading panic traces, breakpoints, conditional breakpoints and debugging nil pointer exceptions.
06:37
18
Debugging goroutines
06:25
19
tests as an entry point to debugging; debugging tests
04:58
20
Debugging a http request
02:23
21
Exercise Solution
11:41
22
Using the Debugger to debug a Go application in a Docker container
05:03
23
Introduction to Metrics
00:39
24
What should I measure?
04:20
25
Adding Metrics to an API written in Go
09:28
26
Introduction to Prometheus; Building Dashboard in Grafana
11:51
27
Exercise Solution
05:49
28
Introduction to Distributed Tracing
02:10
29
Adding Traces to a Go API
09:02
30
Tracing across services
06:15
31
Exercise Solution
06:17
32
Introduction to Profiling
04:05
33
Lets add Profiling to your Go Application
04:08
34
Profiling the Heap (Memory)
07:33
35
CPU tracing and pprof list
08:51
36
Profiling goroutine usage
07:16
37
Exercise Solution
12:18
38
Bonus Lesson: gotraceui and flight recording (new in Go 1.22)
06:55
Unlock unlimited learning

Get instant access to all 37 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription