When you panic, or through runtime. Caller (0) Getting the file location that is currently faulted as a log record exposes the project path and account you compiled at that time, which may not be what you want to see.
panic:oh! No!goroutine 1 [Running]:main.main () /users/jerry/go/src/demo/panic_demo/main.go:10 +0x64
We get by statically analyzing the compiled binary strings panic_demo | grep /Users :
/users/jerry/go/src/demo/panic_demo/main.go/users/jerry/go/src/demo/panic_demo/main.go/users/jerry/go/src/demo /panic_demo
This information can be removed after we have processed it.
How to Solve
Go build-gcflags=-trimpath= $GOPATH-asmflags=-trimpath= $GOPATH
A more thorough way.
Go build-gcflags=-trimpath= $GOPATH-asmflags=-trimpath= $GOPATH-ldflags "-w-s"
Finally clean, and does not affect the normal stack information.
panic:oh! No!goroutine 1 [Running]:main.main () src/demo/myssl_demo/getcert_demo.go:10 +0x64