在main.go中的main()开头添加了这两行:
trace.Start(os.Stdout)
defer trace.Stop()
使用go build -o appName
与time ./appName > m.trace
最后尝试用go tool trace m.trace
打开跟踪
但得到了以下错误:
2017/11/10 19:15:38 Parsing trace...
failed to parse trace: unknown event type 50 at offset 0x16
关于我的代码的更多背景知识(golang 1.9,linux):它是用gin-gonic构建的GET请求的服务器。我添加了额外的代码行time.AfterFunc(20*time.Seconds, func(){closeServer()})
以在20秒后关闭我的服务器,因此我可以向它发出一些请求,然后停止服务器退出程序。
答案 0 :(得分:1)
我找到了解决问题的方法。 我按照本教程https://making.pusher.com/go-tool-trace/进行了操作。 添加代码到main:
f, err := os.Create("trace.out")
if err != nil {
panic(err)
}
defer f.Close()
err = trace.Start(f)
if err != nil {
panic(err)
}
defer trace.Stop()
// Your program here
似乎工作正常。我不知道是什么原因造成这个问题:(