尝试使用go工具跟踪解析跟踪时出错

时间:2017-11-10 19:36:28

标签: go trace

我正在关注JustForFunc episode 22

的教程

在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秒后关闭我的服务器,因此我可以向它发出一些请求,然后停止服务器退出程序。

1 个答案:

答案 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

似乎工作正常。我不知道是什么原因造成这个问题:(