[英]Debug a Go routine in Intellij
嗨,我有一个包含 Go 例程的以下 Golang 程序。
func main() {
go func(){
fmt.Println("Break Point 1")
}()
fmt.Println("Break Point 2")
time.Sleep(100 * time.Second)
fmt.Println("hello")
}
现在我的程序不会在断点 1 处中断。我还如何调试例程?
func main() {
go func() {
fmt.Println("Break Point 1")
}()
fmt.Println("Break Point 2")
time.Sleep(1 * time.Second)
fmt.Println("hello")
}
似乎在 go 例程被安排之前程序终止,这就是未到达断点的原因。 您可以尝试在主程序中添加睡眠吗?
理想情况下,您应该使用等待组,它可以帮助您等到例行程序完成。 wg.Wait() in main 将要求 main 等待所有等待组完成。 在你的 go 函数中添加 wg.Add(1) 并在最后执行 wg.Done()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.