设置linux生成core文件:ulimit -c unlimited
设置go生成core文件:export GOTRACEBACK=crash
这里比c++程序多了一个步骤
安装dlv
可以参考这个链接
goland远程调试linux_lsccsl的专栏-CSDN博客_goland 远程调试本文整合自以下网络文档,可直接阅读源文档百度安全验证https://baijiahao.baidu.com/s?id=1615101405775143768这个文档主要是讲述代码同步,如果不需要可以直接跳过,linux上开smb直接复制代码也可以Golang如何在linux操作系统上远程调试? - 知乎https://www.zhihu.com/question/389681686这个文档主要描述用dlv进行docker调试,但笔者直接改成普通的远程调试,降低理解门槛首先安...https://blog.csdn.net/lsccsl/article/details/122191187?spm=1001.2014.3001.5501
写一个会崩的程序:
var mapTest map[int]int
mapTest[1] = 1
分析core文件,命令格式 dlv core 程序文件名 core文件名
例:
dlv core test_go_main core.26701
进入dlv
用help查看各种命令
运行goroutine命令
即可看到发生错误的程序位置
如下