英文:
Why does `go tool pprof` show addresses instead of function names?
问题
$ go tool pprof pgears.go profilefile.prof
addr2line: crackhdr: 未知的头类型
欢迎使用pprof!要获取帮助,请输入'help'。
(pprof) top
总共:8个样本
5 62.5% 62.5% 5 62.5% 0000000000028a8b
1 12.5% 75.0% 1 12.5% 000000000002295c
1 12.5% 87.5% 1 12.5% 000000000009375a
1 12.5% 100.0% 1 12.5% 00000000000d278a
0 0.0% 100.0% 1 12.5% 000000000000252a
0 0.0% 100.0% 1 12.5% 000000000000259d
0 0.0% 100.0% 2 25.0% 0000000000017d9e
0 0.0% 100.0% 2 25.0% 000000000001a2bf
0 0.0% 100.0% 6 75.0% 000000000001b630
0 0.0% 100.0% 1 12.5% 0000000000045401
(pprof)
为什么go tool pprof
显示的是地址而不是函数名?
来源:http://google-perftools.googlecode.com/svn/trunk/doc/cpuprofile.html
或者:http://blog.golang.org/profiling-go-programs
我们知道应该是函数名。
或者我如何将字节信息更改为函数名?
操作系统:Mac OS 10.9.2
Go版本:go1.2 darwin/amd64
英文:
$ go tool pprof pgears.go profilefile.prof
addr2line: crackhdr: unknown header type
Welcome to pprof! For help, type 'help'.
(pprof) top
Total: 8 samples
5 62.5% 62.5% 5 62.5% 0000000000028a8b
1 12.5% 75.0% 1 12.5% 000000000002295c
1 12.5% 87.5% 1 12.5% 000000000009375a
1 12.5% 100.0% 1 12.5% 00000000000d278a
0 0.0% 100.0% 1 12.5% 000000000000252a
0 0.0% 100.0% 1 12.5% 000000000000259d
0 0.0% 100.0% 2 25.0% 0000000000017d9e
0 0.0% 100.0% 2 25.0% 000000000001a2bf
0 0.0% 100.0% 6 75.0% 000000000001b630
0 0.0% 100.0% 1 12.5% 0000000000045401
(pprof)
Why go tool pprof
shows addresses instead of function names?
from http://google-perftools.googlecode.com/svn/trunk/doc/cpuprofile.html
or http://blog.golang.org/profiling-go-programs
We know it must be function name.
Or how can I change the byte information to function name?
Operation System: Mac OS 10.9.2
Go Version: go1.2 darwin/amd64
答案1
得分: 7
pprof
的第一个参数必须是一个二进制文件,而不是一个源文件。
因此,你需要编译这个二进制文件:
$ go build -o ppears
然后将其作为pprof
的输入:
$ go tool pprof pgears
英文:
The first argument to pprof
must be a binary, not a source file.
So you must compile the binary:
$ go build -o ppears
and use it as the input to pprof
:
$ go tool pprof pgears
答案2
得分: 1
go build -o bin // 构建二进制文件
go tool pprof bin profilefile.prof
英文:
go build -o bin // build the binary file
go tool pprof bin profilefile.prof
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论