panic: send on closed channel 的情况使用 dlv 一直 s 只会进入fatalpanic()
来源:1-6 Go 语法背后的秘密
EwdAger
2021-05-21 19:46:34
package main
func main() {
ch := make(chan int)
close(ch)
ch <- 1
}
上面的代码用 dlv 工具进行 debug, 在 ch <- 1
打断点,一直 s 下去只会进入 fatalpanic()
函数然后直接 exit 出去了。
systemstack(func() {
exit(2)
})
但是后面换 goland 直接全局搜索到 chan.go
中的send on closed channel
,在此处打断点,然后进行 debug 却可以走到这一步
请问老师这是为啥?
1回答
我试了一下
这里要用 si 才能进去~
s 不行,
si 要多按几次
之后看到函数调用就可以直接断点进去了
相似问题