8 个回答
lsk569937453 2019-11-26 19:07:31
线上问题比例子代码复杂的多的多,所以从源码入手猜哪一行代码出错,很难。
Maboroshii 2019-11-26 19:56:56
盲猜 recover 的地方有问题
Reficul 2019-11-26 20:18:21
空指针上执行方法不会 Hang 住,对指针解引用会 Panic 也不会 Hang 住。说卡在 print 的,是看到的还是猜的,建议 dlv 上去看堆栈信息。
lsk569937453 2019-11-26 20:46:32
@Reficul 是本地调试的,走到 srcDbresult.Next()这个就走不下去了,panic 没走到都。说 hang 住是因为进程还在,端口也在占用,telnet 端口无返回,无法处理请求也
iamfirst 2019-11-26 20:53:11
srcDbresult.Next(), 是指读取记录下一条?如果查询时 err != nil,还强行读不存在的记录,然后报错?
callofmx 2019-11-26 20:58:44
...正确的方法是 runtime stack trace, 看到底看看卡在那里
winterssy 2019-11-26 20:58:44
弱弱的问一句,调用空指针的方法不会 panic 吗,随后就 recover 了吧,还有 print 什么事?
winterssy 2019-11-26 21:06:47
@winterssy #7 错了,要看具体的业务逻辑