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
0:00
/ #1: Welcome!
All Course Lessons (38)
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 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 subscriptionComments
0 commentsWant to join the conversation?
Sign in to commentSimilar courses
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
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
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
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
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