1
Runtime Tracing
Use runtime/trace to examine goroutine scheduling and find hidden bugs like the Go 1.12 darwin syscall bug
2
Scheduler and GC Debugging
Use GODEBUG=schedtrace and scheddetail to examine the Go scheduler state
3
Assembly Examination
Use go build -gcflags='-S' to examine generated assembly and understand compiler optimizations