尝试使用 go tool trace 解析 trace 时出错
Error when trying to parse trace using go tool 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 秒后关闭我的服务器,这样我就可以向它发出一些请求,然后停止服务器退出程序。
我找到了解决问题的办法。
我遵循了本教程 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
它似乎运行良好。我不知道是什么导致了这个问题:(
我正在学习 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 秒后关闭我的服务器,这样我就可以向它发出一些请求,然后停止服务器退出程序。
我找到了解决问题的办法。 我遵循了本教程 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
它似乎运行良好。我不知道是什么导致了这个问题:(