Skip to main content

The Ultimate Guide to Debugging With Go

3h 41m 59s
English
Paid

Course description

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.

Read more about the course
  • No unnecessary information. Brief lessons with practical recommendations.
  • Debugging experience is not required. We start with the basics and finish with advanced topics.

Watch Online

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

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Go (Golang) Programming The Complete Go Bootcamp 2023

Go (Golang) Programming The Complete Go Bootcamp 2023

Sources: udemy
Fully updated for 2021. This Go Programming course covers every major topic, including Pointers, Methods, and Interfaces (Go OOP), Concurrency In-Depth (Goroutines, Channels, Mu...
17 hours 49 minutes 29 seconds
Introduction to Testing in Go (Golang)

Introduction to Testing in Go (Golang)

Sources: udemy
Writing unit tests and integration tests is one of the most-neglected aspects of software development. All too often, a developer will find him or herself say "but it works on m...
12 hours 17 minutes 47 seconds
gRPC [Golang] Master Class: Build Modern API & Microservices

gRPC [Golang] Master Class: Build Modern API & Microservices

Sources: udemy
gRPC is a new and modern framework for building scalable, modern and fast API. It is leveraged by many top tech companies such as Google, Square & Netflix and enables programmer...
3 hours 46 minutes 30 seconds
Writing An Interpreter In Go

Writing An Interpreter In Go

Sources: Thorsten Ball
In this book we will create a programming language together. We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey* programming language. S...