【发布时间】:2017-11-10 19:36:27
【问题描述】:
我正在关注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 秒后关闭我的服务器,这样我就可以向它发出少量请求,然后停止服务器退出程序。
【问题讨论】:
-
可能您的应用程序中的某些内容正在写入标准输出。
-
您的评论解决了我的问题。 fmt.Print... 正在写入 os.Stdout,因此与我的其他输出混合了跟踪数据