我正在使用"net/http/pprof"在远程服务器上运行我的golang应用程序的远程分析.
我为go工具设置了PPROF_BINARY_PATH env变量,以便能够在我的机器上找到我的本地二进制文件.
当我在go工具pprof cli中使用"list"关键字时 - 当go工具查找.go源文件时,我得到一个"没有这样的文件或目录".
Error: open /go/src/github.com/foo/bar/baz.go: no such file or directory
Run Code Online (Sandbox Code Playgroud)
看起来它正在寻找远程机器的GOPATH中的源文件,它是"/ go /",而在我的个人机器上它是在我的主目录中,因此文件在.
/Users/myuser/go/src/github.com/foo/bar/baz.go
Run Code Online (Sandbox Code Playgroud)
当我将所需的源代码文件复制到我的GOPATH之外并转到go工具正在搜索的目录时 - "list"关键字按预期工作,但这当然不是最佳的.
menghan@gram:/opt$ go tool pprof --help 2>&1 | grep source_path
-source_path Search path for source files
Run Code Online (Sandbox Code Playgroud)
选项--source_path可能会有所帮助。