今天聊聊如何优雅的使用GDB调试Go程序。
GDB有啥用?
想了解代码底层的话,它是一大利器,更别说定位问题啥的。
具体骚操作见曹大的使用 debugger 学习 golang
但GDB从安装到可用,可能有一大堆问题要解决(尤其在Mac上),我们怎么能优雅的使用它,避免陷入问题中,是本文的重点。
(涉及Docker和Mac两个平台上运行)
先来看比较推荐的Docker方式
Docker篇:3步即可调试
docker加持的话,非常方便,随用随起
先上效果:戳 gdb-debug-go-in-docker 可下载命令
具体步骤如下:(完全回归工具本质,换台机器也能调试)
// 1. 已当前目录映射启动gdb
docker run --rm -it --security-opt="apparmor=unconfined" \
--security-opt="seccomp=unconfined" \
--cap-add=SYS_PTRACE -v "$(pwd):/go/src/app" \
newbmiao/gdb-go1.14rc1: