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