我试图描述一些golang应用程序,但我没有那个工作,我已经按照这两个教程:
两者都说在向应用程序添加一些代码行后,你必须执行你的应用程序,我这样做了,我在屏幕上收到以下消息:
2015/06/16 12:04:00个人资料:cpu profiling enabled,/ var/folder/kg/4fxym1sn0bx02zl_2sdbmrhr9wjvqt/T /profile680799962/cpu.pprof
所以,我知道正在执行分析,将信息发送到文件.
但是,当我看到文件大小时,在我测试的任何程序中,它总是64字节.
当我尝试用pprof打开cpu.pprof文件时,我执行"top10"命令,我发现文件中没有任何内容:
("./fact"是我的应用)
go tool pprof ./fact /var/folders/kg/4fxym1sn0bx02zl_2sdbmrhr9wjvqt/T/profile680799962/cpu.pprof
top10 - >
(pprof)top10 0 of 0 total(0%)flat flat%sum%cum cum%
所以,当我分析时,就好像没有任何事情发生.
我已经在mac(本例)和ubuntu中测试了它,有三个不同的程序.
你知道我做错了吗?
然后示例程序非常简单,这是代码(是一个非常简单的因子程序,我从互联网上):
import "fmt"
import "github.com/davecheney/profile"
func fact(n int) int {
if n == 0 {
return 1
}
return n * fact(n-1)
}
func main() {
defer profile.Start(profile.CPUProfile).Stop()
fmt.Println(fact(30))
}
Run Code Online (Sandbox Code Playgroud)
谢谢,Fer