我使用了 ulimit -c limited 和 env GOTRACEBACK=crash,使得 golang 程序在崩溃时会产生 core 文件。
这时我使用 gdb ./test core 命令载入可执行程序与 core 文件,输入 bt,得到结果如图:

有几个问题:
- core 文件为什么没有显示*.go 相关的文件,而全是.c 的呢
- 因为我故意写了一个段错误,并 core 文件并没有指向到
我使用 gdb ./test 直接调试可执行程序,gdb 中输入 run,得到结果如下:

gdb 可以直接指向我使用空指针的地方,我一个 server 总不能总是在 gdb 里面运行吧……