【golang】16、dlv 调试工具、vscode+ssh 远程调试

Goland Debug 模式崩溃

有时遇到如下现象: Golang Run 模式正常,Debug 无 BreakPoint 模式正常,但 Debug 加 BreakPoint 就会偶现 panic,panic 信息如下

panic: runtime error: index out of range [7] with length 0

goroutine 112 [running]:
encoding/binary.littleEndian.Uint64(...)
        /opt/buildAgent/temp/buildTmp/go/src/encoding/binary/binary.go:77
github.com/go-delve/delve/pkg/proc/gdbserial.(*gdbRegisters).SP(0xc000353ef8, 0xc0006bfc10)
        /opt/buildAgent/work/4c3e5e3eabfaf2d2/pkg/proc/gdbserial/gdbserver.go:1810 +0x85
github.com/go-delve/delve/pkg/proc.funcCallStep(0xc0025941e0, 0xc0006bfc10, 0x17255d8, 0xc000353ee0, 0xc, 0xc00244aac8, 0x13, 0x0)
        /opt/buildAgent/work/4c3e5e3eabfaf2d2/pkg/proc/fncall.go:834 +0x74c
github.com/go-delve/delve/pkg/proc.evalFunctionCall(0xc0025941e0, 0xc0007bd140, 0xc000065cf0, 0x109cb76, 0x171e560)
        /opt/buildAgent/work/4c3e5e3eabfaf2d2/pkg/proc/fncall.go:358 +0xa65
github.com/go-delve/delve/pkg/proc.(*EvalScope).evalAST(0xc0025941e0, 0x171d990, 0xc0007bd140, 0x1, 0x1, 0x64)
        /opt/buildAgent/work/4c3e5e3eabfaf2d2/pkg/proc/eval.go:708 +0x312
github.com/go-delve/delve/pkg/proc.(*EvalScope).EvalExpression(0xc0025941e0, 0xc002b69740, 0x12, 0x1, 0x1, 0x64, 0x64, 0xffffffffffffffff, 0x0, 0x0, ...)
        /opt/buildAgent/work/4c3e5e3eabfaf2d2/pkg/proc/eval.go:181 +0x69e
created by github.com/go-delve/delve/pkg/proc.EvalExpressionWithCalls
        /opt/buildAgent/work/4c3e5e3eabfaf2d2/pkg/proc/fncall.go:197 +0x356

Debugger finished with the exit code 2

其实 Goland 和 VsCode 的 Debug 都是基于 delve 实现的

解决方案:

  • 重装最新版 Goland,安装最新版 go(如 brew upgrade go)
  • 查看 dlv 版本(which dlv),源码安装 dlv,实测卸载 dlv 后 Goland 也可以跑起来

参考:https://www.cnblogs.com/yrxing/p/14830827.html

相关推荐

  1. Visual Studio 2019 远程调试工具

    2024-01-29 08:14:01       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-29 08:14:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-29 08:14:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-29 08:14:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-29 08:14:01       20 阅读

热门阅读

  1. C++ 将类的方法作为线程来运行

    2024-01-29 08:14:01       33 阅读
  2. scanf读取返回值问题

    2024-01-29 08:14:01       33 阅读
  3. 【数据分析】numpy基础第四天

    2024-01-29 08:14:01       33 阅读
  4. [lighttpd]lighttpd配置http强制跳转https

    2024-01-29 08:14:01       39 阅读
  5. 写一段防止sql注入的sql查询

    2024-01-29 08:14:01       31 阅读
  6. Zookeeper面试题合集

    2024-01-29 08:14:01       32 阅读
  7. VLM 系列——Qwen-VL 千问—— 论文解读

    2024-01-29 08:14:01       33 阅读
  8. c# Newtonsoft.Json 序列化和反序列化

    2024-01-29 08:14:01       35 阅读
  9. MySQL入门篇(2)-MySQL的安装和配置

    2024-01-29 08:14:01       28 阅读
  10. 浅析大数据汇总

    2024-01-29 08:14:01       31 阅读