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

Working with Design Patterns in Go (Golang)

Working with Design Patterns in Go (Golang)

Sources: udemy
Go is a powerful language for building efficient and scalable applications. But as your projects grow, you'll encounter common problems that can be elegantly...
10 hours 20 minutes 8 seconds
Golang (Go) Concurrency: Hands-On Guide

Golang (Go) Concurrency: Hands-On Guide

Sources: udemy
Unlock the potential of parallel programming in Go with this practical guide. This course is designed for intermediate and advanced level developers...
2 hours 9 minutes 27 seconds
Advanced Branching and Looping in GO

Advanced Branching and Looping in GO

Sources: pluralsight
GO is a relatively new programming language. In this course, Advanced Branching and Looping in GO, you will gain the ability to effectively use the GO for loop statement, and th...
1 hour 14 minutes 40 seconds
Golang for Beginners

Golang for Beginners

Sources: zerotomastery.io
Learn Golang from scratch. Dive into the world of scalable and high-performance software. Prepare your skills for real-world projects and interviews.
2 hours 28 minutes 28 seconds
Ultimate Go: Software Design with Kubernetes 2.0

Ultimate Go: Software Design with Kubernetes 2.0

Sources: ardanlabs.com
This course will teach you how to develop advanced services in Go, using Domain Driven Design and Data Oriented Architecture approaches with deployment in...
22 hours 32 minutes 42 seconds