之前看go,教程顺了一遍下来,感觉不是很难,最近在做一件事情的时候发现自己当时实在是太天真了。废话不多说,直奔主题,由于学习中免不了要调试代码,所以就找了一下网上出来的IDE,发现两个,一个是go的一个是liteIde,感觉都不是很好用。前者进去之后完全不知所云,后者在我的测试代码中不知道怎么进行调试。也许是我无形比较挫,不管怎样,不想再折腾了,我也不能要求所有的IDE和XCode一样傻瓜不是。索性直接使用GDB,之前没用过,完全不知道怎么弄。下面是我的步骤,已经知道怎么用gdb对go进行调试的略过。

1.安装go,不多说,网上有。(在ubuntu中可以简单的使用sudo apt-install golang-go来安装)
2.安装gdb,注意至少要到7.1以上的GDB才支持go。
3.便宜源代码,官方说使用go build + fileName 编译出来的就直接带有调试信息了,可以使用go build -ldflags “-s”把编译信息去掉,另外默认编译会有一些给调试带来不便的优化,可以使用-gcflags “-N -l”选项把它去掉。那么最终的编译命令就是go build -gcflags “-N -l” + fileName 。
4.使用GDB进行调试,比如文件名为main.go,编译完成为main,使用gdb main启动调试。
5.常用gdb命令,list(简写为l),输出源代码列表,默认输出前10行,继续回车可以输出后面的,可以使用list 11来输出第11行周围的代码。
6.break : 打断点 , break 11 在11行打断点。delete breakpoint 删除断点
7.run 运行代码开始调试,会在第一个断点处挺住。
7.print + variable name : 在断点停止的时候输出变量内容。

more:
多文件系统:
查看文件内容l(list) fileName:lineNumber
断点:查看文件之后 break lineNumber