env GOPRIVATE=test/main # Tiny mode garble -tiny build ! binsubstr main$exe 'main.go' 'fmt/print.go' env GODEBUG='allocfreetrace=1,gcpacertrace=1,gctrace=1,scavenge=1,scavtrace=1,scheddetail=1,schedtrace=10' ! exec ./main$exe stderr '^caller: \? 0$' # position info is removed stderr '^recovered: ya like jazz?' ! stderr 'panic: oh noes' # panics are hidden [short] stop # no need to verify this with -short # Default mode env GODEBUG= garble build ! exec ./main$exe stderr '^caller: \w\.go [1-9]' stderr '^recovered: ya like jazz?' stderr 'panic: oh noes' -- go.mod -- module test/main -- main.go -- package main import "runtime" func main() { defer func() { if r := recover(); r != nil { println("recovered:", r.(string)) panic("oh noes") } }() _, file, line, _ := runtime.Caller(0) println("caller:", file, line) panic("ya like jazz?") }