VS Code中使用Delve调试Go代码时触发invalid memory address or nil pointer dereference Panic问题求助
VS Code中使用Delve调试Go代码时触发invalid memory address or nil pointer dereference Panic问题求助
大家好,我最近碰到个头疼的调试问题,不管在哪个Go项目里启动VS Code调试器,都会触发Delve的空指针引用panic,而且这问题是突然冒出来的——之前调试都好好的。我已经试过卸载重装、更新Go和Delve,但都没解决,想请教下各位有没有类似的经验或者解决方案!
我的环境信息:
- Delve版本: 1.23.1
- Go版本:
go1.23.2 darwin/arm64 - Cursor版本:
0.42.4(基于VSCode1.93.1) - 操作系统: MacOS
14.6 - 架构:
M1 arm64
问题详情:
只要在VS Code里启动调试,就会收到Delve抛出的panic报错,不管调试哪个文件、哪个代码位置,这个问题都会持续出现。它是我正在写代码的时候突然发生的,完全没有预兆。我已经把Go和Delve都卸载重装过,也更新到了最新版本,但问题还是没消失。
完整报错日志:
error layer=dap recovered panic: runtime error: invalid memory address or nil pointer dereference goroutine 34 [running]: runtime/debug.Stack() /opt/homebrew/Cellar/go/1.23.2/libexec/src/runtime/debug/stack.go:26 +0x64 github.com/go-delve/delve/service/dap.(*Session).recoverPanic(0x14000386000, {0x100bad4e0, 0x140026d97a0}) /Users/me/go/pkg/mod/github.com/go-delve/delve@v1.23.1/service/dap/server.go:579 +0x44 panic({0x100afb980?, 0x100f55550?}) /opt/homebrew/Cellar/go/1.23.2/libexec/src/runtime/panic.go:785 +0x124 github.com/go-delve/delve/pkg/proc.fakeFunctionEntryScope(0x14000b280f0?, 0x100bb88b0?, 0x14000083720, 0x14000083718) /Users/me/go/pkg/mod/github.com/go-delve/delve@v1.23.1/pkg/proc/fncall.go:979 +0x28 github.com/go-delve/delve/pkg/proc.funcCallStep(0x14000386500, 0x14002b190e0, {0x100bb88b0, 0x140026ec460}) /Users/me/go/pkg/mod/github.com/go-delve/delve@v1.23.1/pkg/proc/fncall.go:851 +0x408 github.com/go-delve/delve/pkg/proc.(*evalStack).resume(0x14002b190e0, 0x14002b56300) /Users/me/go/pkg/mod/github.com/go-delve/delve@v1.23.1/pkg/proc/eval.go:925 +0x4b0 github.com/go-delve/delve/pkg/proc.callInjectionProtocol(0x14000b280f0, {0x140000cbd40?, 0x10097d150?, 0x0?}) /Users/me/go/pkg/mod/github.com/go-delve/delve@v1.23.1/pkg/proc/fncall.go:1094 +0x478 github.com/go-delve/delve/pkg/proc.(*TargetGroup).Continue(0x14000124140) /Users/me/go/pkg/mod/github.com/go-delve/delve@v1.23.1/pkg/proc/target_exec.go:162 +0x870 github.com/go-delve/delve/pkg/proc.EvalExpressionWithCalls(0x14000124140, 0x14003f9c240, {0x1400337a870, 0x29}, {0x1, 0x1, 0x400, 0x40, 0xffffffffffffffff, 0x0}, ...) /Users/me/go/pkg/mod/github.com/go-delve/delve@v1.23.1/pkg/proc/fncall.go:190 +0x3d4
备注:内容来源于stack exchange,提问作者Dave New
相关产品推荐
相关产品推荐

