go语言的GDB调试入门初级

cytzrs · · 2640 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

之前看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


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:cytzrs

查看原文:go语言的GDB调试入门初级

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2640 次点击  
加入收藏 微博
上一篇:go 前言
下一篇:Windows+GO+beego
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传