无法解析跟踪:没有EvFrequency事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法解析跟踪:没有EvFrequency事件相关的知识,希望对你有一定的参考价值。
我生成这样的跟踪:
func 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()
//this is my app:
http.HandleFunc("/", someFunc)
log.Fatal(http.ListenAndServe(":5000", nil))
}
然后我在CLI中运行:
$ go run main.go
刷新浏览器,生成trace.out,1.8 MB,然后:
$ go tool trace trace.out
018/09/09 13:25:18 Parsing trace...
failed to parse trace: no EvFrequency event
我在这里错过了什么?谢谢。
答案
跟踪数据只能在您停止跟踪后查看(即在调用trace.Stop()
之后)。在您提供的代码中,http.ListenAndServer(...)
将永久阻止(除非它遇到错误)。
您是否尝试在跟踪停止之前查看跟踪?
一种解决方案可能是等待中断信号,然后在接收时退出该功能,这将导致跟踪被停止和写入。
func 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()
http.HandleFunc("/", someFunc)
go func() {
log.Fatal(http.ListenAndServe(":5000", nil))
}()
signalChan := make(chan os.Signal, 1)
signal.Notify(signalChan, os.Interrupt)
<-signalChan
}
以上是关于无法解析跟踪:没有EvFrequency事件的主要内容,如果未能解决你的问题,请参考以下文章
阅读Microsoft Word文档时出现Android Apache POI错误:org.apache.xmlbeans.SchemaTypeLoaderException无法解析句柄的类型(代码片
找不到模块:无法解析'C: Users test counter-app src'中的'bootstrap / dist / css / bootstrap.cs(代码片