
1 GeruzoniAnsasu 2022-07-08 11:50:11 +08:00 只要这个程序(或 docker container )能在本机上跑得起来,我一定会首先尝试 dlv |
2 firecode OP @GeruzoniAnsasu 不能本地跑呢,线上的,直接从日志定位问题,而不是在本地复现 |
3 kingofzihua 2022-07-08 14:06:08 +08:00 可以用下 sentry |
4 firecode OP @kingofzihua 就算用了 sentry ,我也需要从报错信息直接定位到代码行呀 |
5 kingofzihua 2022-07-08 14:31:50 +08:00 @firecode 有调用栈啊 |
6 nmap 2022-07-08 15:04:04 +08:00 报错信息搜代码? |
7 realpg PRO 所有请求都短暂保存 干啥就不能本地复现了? |
8 keepeye 2022-07-08 15:23:23 +08:00 使用带堆栈信息的第三方 error 包,比如 GoFrame 框架的 gerror |
9 PlG5sBkXD1ziLeGB 2022-07-08 15:27:09 +08:00 via iPhone go 这么多 if err != nil , 都报错了,还不能定位问题? |
13 charmToby 2022-07-08 17:42:59 +08:00 有链路追踪,然后接口响应里,会返回错误堆栈信息,直接显示哪一行什么错。 |
14 cmdOptionKana 2022-07-08 18:10:22 +08:00 根据 Go 官方统计,用 fmt.Println 的人最多。 |
15 EminemW 2022-07-08 23:03:22 +08:00 打日志,用这个拿调用栈 https://pkg.go.dev/runtime#example-Frames |
16 eudore 2022-07-11 08:30:40 +08:00 src/net/http/server.go 里面加上一个 fmt 就好了,一般情况 server 是没有异常,都是应用错误;应用错误 recover 加上堆栈输出就有了。 |
17 Trim21 2022-07-18 03:27:35 +08:00 via Android 每一层返回错误的时候都要用 fmt.Errorf 包一下,要么就在最底层用带 trackback 的 GitHub/pkg/errors 包 Wrap 一下。 |
18 Trim21 2022-07-18 03:30:18 +08:00 via Android |