如何从堆栈跟踪中删除绝对路径?

Iva*_*anP 5 go

如何从堆栈跟踪中删除绝对路径?

例如,现在:

main.main()
    /home/userName/WORKSPACE/temp/mvps/main.go:16 +0xb2
Run Code Online (Sandbox Code Playgroud)

我希望它是这样的:

main.main()
    main.go:16 +0xb2
Run Code Online (Sandbox Code Playgroud)

MTC*_*ter 5

要删除GOPATH前缀,请在运行时添加以下标志go build(ref):

go build -gcflags=-trimpath=$GOPATH -asmflags=-trimpath=$GOPATH ...
Run Code Online (Sandbox Code Playgroud)

如果GOPATH未在您的环境中设置,$(go env GOPATH)仍然可能正常工作(感谢Flimzy指出这一点):

go build -gcflags=-trimpath=$(go env GOPATH) -asmflags=-trimpath=$(go env GOPATH) ...
Run Code Online (Sandbox Code Playgroud)

  • 对我来说并不尴尬@MTCoster.您可以使用Makefile来构建项目,将标志(以及任何aditional配置)放在一起. (2认同)