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
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)
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
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
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...