go语言的GDB调试入门初级
2016-04-26 15:45
399 查看
之前看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
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
相关文章推荐
- 不喜欢 IDE?试试看 grepgitvi
- Linux 自检和 SystemTap
- Python 七步捉虫法
- 路由器的配置与调试
- 对于技术人员的出现了运行时间错误,是否要进行调试的解决方法
- C# IDE VS2005中的Hosting Process (vshost.exe)作用介绍
- 讲解WordPress开发中一些常用的debug技巧
- JavaScript程序设计之JS调试
- 可以用来调试JavaScript错误的解决方案
- 如何调试异步加载页面里包含的js文件
- 分享18个最佳代码编辑器/IDE开发工具
- jQuery下的Ajax调试步骤
- 调试一段PHP程序时遇到的三个问题
- JavaScript高级程序设计 错误处理与调试学习笔记
- Javascript调试脚本的经验之谈第1/2页
- 在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
- Android App调试内存泄露之Cursor篇
- 基于Linux调试工具strace与gdb的常用命令总结
- Go语言入门教程之Arrays、Slices、Maps、Range操作简明总结
- GO语言异常处理机制panic和recover分析