搭建Go开发及调试环境(LiteIDE + GoClipse)
搭建Go开发及调试环境(LiteIDE + GoClipse) -- Windows篇
这里以Windows7 64位为例,如果是32位环境需安装对应版本程序。
一、安装golang1.2.2
1.3及1.3.1编译生成的二进制文件,无法使用LiteIDE23.2携带的gdb7.7进行调试。

二、安装及配置LiteIDE
将liteidex23.2.windows.7z解压到D:\即完成安装。
2.1 设置编辑环境
因为是64位环境,所以选择“win64”。
查看->编辑环境变量,确认GOROOT变量与GO安装路径一致。

2.2 添加GOPATH
查看->管理GOPATH...,创建新目录E:\Code_Repository\golang,并添加到“自定义目录”。

2.3 新建项目
选择上一步添加的GOPATH,模板为Go1 Command Project

编辑源代码,添加几行代码,包括变量声明、初始化及赋值,用来验证调试是否生效。

2.4 设置编译选项及编译
编译->编译配置,设置编译参数。在BUILDARGS添加-gcflags "-N -l",目的是去掉编译优化,方便调试。

Ctrl+B构建项目,生成hello.exe

2.5 调试程序
按F5启动调试,程序在main函数处停止

通过F10单步调试,可以看到i、j的变化(好像会稍微延迟那么0.X秒)

三、安装及配置GoClipse
GoClipse是Eclipse的一个插件,当前0.8.0版本要求Java 7及Eclipse4.3
3.1 安装jre-7u67-windows-x64.exe
3.2 下载解压Eclipse IDE for C/C++ Developers
GoClipse依赖CDT组件(应该调试时需要?),因此下载解压eclipse-cpp-luna-R-win32-x86_64.zip。
如果使用的是其它代码版本的IDE,还需要安装CDT组件。
3.3 安装GoClipse
2种方法:一种是通过Eclipse的Install New Software,另一种是直接下载GoClipse包解压到Eclipse目录。
方法1:
https://github.com/GoClipse/releases/raw/master/

方法2:https://github.com/GoClipse/releases 点击右下角的“Download ZIP”
记住:只将plugins和features两个目录解压到Eclipse目录即可,
千万别把其中的artifacts.jar和content.jar也放到Eclipse目录下,这会导致Preferences不显示Go配置项,即使删掉这两个文件重启也没用!

3.4 配置GoClipse
因为GoClipse及Eclipse都没有附带gdb和gocode,可以使用LiteIDE包中的这两个程序。解压liteidex23.2.windows.7z到D:\,后续配置时可以浏览到其中的文件。
也可以使用其它方式安装gdb和gocode,因为使用LiteIDE中程序是最方便的,其它方法就不介绍了。
Browse...浏览到Go的安装目录,Go Tools三个路径会自动填充。

目前0.8.0版本GoClipse没有提供build参数设置,为了方便调试程序,需要在编译时增加-gcflags "-N -l"取消优化。
可以通过bat文件对调用“Go tool path(go)”进行封装以提供build配置,创建批处理文件go.bat放置在go.exe所在目录。
假设调用的参数最多为5个(目前GoClipse中调用go好像只用build选项,下面的else分支似乎是不必要的)

修改“Go tool path(go)”为go.bat

配置gocode

3.4 新建项目
编辑源代码后保存,Eclipse默认自动构建项目,从Console可以看出调用的是go.bat build进行构建。

3.5 调试程序
按F11启动调试,界面好像没有什么响应,多按几次会显示以下窗口

这个时候Preferences才能看到GDB配置项(很神奇),“GDB debugger”浏览到LiteIDE中的gdb

回到源代码编辑器,按F11重新启动调试。
配置在main函数启动处停止会以下提示信息,找不到源文件(这么奇葩的路径不知哪来的) 。

可以点击“Locate File..."浏览到Go安装包中对应的文件。

继续单步调试可以看到i、j值的变化

参考文档:
https://github.com/GoClipse/goclipse/blob/latest/documentation/Installation.md#installation
http://www.infoq.com/cn/articles/use-liteIDE-develop-go
搭建Go开发及调试环境(LiteIDE + GoClipse)的更多相关文章
- 搭建Go开发及调试环境(LiteIDE + GoClipse) -- Windows篇
这里以Windows7 64位为例,如果是32位环境需安装对应版本程序. 一.安装golang1.2.2 1.3及1.3.1编译生成的二进制文件,无法使用LiteIDE23.2携带的gdb7.7进 ...
- 搭建Eclipse开发和调试环境(真机)
由于工作原因,最近开始了Android开发.之前接触过一段时间Android,还是在2.x时代. 那个时候搭建开发环境还是挺麻烦的.又是Eclipse,又是ADT的,不同的版本还要安装对应开发包.现在 ...
- Eclipse IDE配置PHP开发、调试环境
前言 使用java语言开发的朋友想必对Eclipse开发工具已经不陌生了,那么Eclipse作为java主流的开发工具,是否能够开发PHP项目呢?答案如你所想,肯定是可以的!以下就是该IDE下如何配置 ...
- MacOs/Liunx主机搭建windows平台双机调试环境
0x00 前言 本文的主要试用对象是Mac OS/Linux用户,对于想调试windows内核相关的一些东西时,需要搭建双机调试环境的一些记录.另外对于本机是windows的用户也完全试用,windo ...
- 使用 Visual Studio Code 搭建 C/C++ 开发和调试环境
文章目录 1. 安装 C/C++ 插件 2. 安装 MinGW-w64 并配置好环境变量 3. 测试环境变量是否配置正确 4. 创建和设置 C 语言开发工作区 5. 编写你的第一个 C 语言程序 6. ...
- STM32开发/烧录/调试环境搭建 基于:Win10+STM32Cube+openocd+cmsis-dap(dap-link)
dap-link是个不错的STM32下载/调试工具,然而STM32Cube并没有直接支持它,只能通过openocd的方式间接支持. 网络上虽然已经有了其他人的教程,不过基本都是基于linux或者msy ...
- 笔记:MAC OS X下配置PHP开发、调试环境
操作系统:MAC OS X 工具:MAMP.PhpStorm.xdebug.chrome 1.下载MAMP 2.安装比较简单,安装完成后,应用程序中会增加如下4个应用 MacGDBp是PHP调试器,使 ...
- MAC OS X下配置PHP开发、调试环境
操作系统:MAC OS X 工具:MAMP.PhpStorm.xdebug.chrome 1.下载MAMP 2.安装比较简单,安装完成后,应用程序中会增加如下4个应用 MacGDBp是PHP调试器,使 ...
- [原创]在Windows和Linux中搭建PostgreSQL源码调试环境
张文升http://ode.cnblogs.comEmail:wensheng.zhang#foxmail.com 配图太多,完整pdf下载请点这里 本文使用Xming.Putty和VMWare几款工 ...
随机推荐
- STL--stack/queue的使用方法
stack(栈)和queue(队列)也是在程序设计中经常会用到的数据容器,STL为我们提供了方便的stack(栈)的queue(队列)的实现. 准确地说,STL中的stack和queue不同于vect ...
- (收藏)KMP算法的前缀next数组最通俗的解释
我们在一个母字符串中查找一个子字符串有很多方法.KMP是一种最常见的改进算法,它可以在匹配过程中失配的情况下,有效地多往后面跳几个字符,加快匹配速度. 当然我们可以看到这个算法针对的是子串有对称属性, ...
- Buy Tickets(线段树)
Buy Tickets Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 16607 Accepted: 8275 Desc ...
- Open vswitch 之Qos rate-limiting 原理
Openvswitch之Qos rate-limiting原理 OVS的qosrate-limiting功能是采用令牌桶(Token-Bucket)机制进行的.这里的“令牌桶”是指网络设备的内部存储池 ...
- ios常见加密解密方法
在其他平台中经常会计算MD5值,在iOS平台中也提供了该方法,首先需要导入头文件 #import <CommonCrypto/CommonDigest.h> 方法CC_MD5可以获取MD5 ...
- Git简介及安装和简单配置
首先需要清楚的是Git和GitHub的区别. Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了 ...
- HTTP 教程 转自 http://www.w3cschool.cc/http/http-tutorial.html
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准. HTTP是一个基于TCP/IP通信 ...
- Linux下通过rm -f删除大量文件时提示"-bash: /bin/rm: Argument list too long"的解决方法
Linux下通过rm -f删除/var/spool/postfix/maildrop/中大量的小文件时提示: "-bash: /bin/rm: Argument list too long& ...
- Net Core在Linux环境
Net Core在Linux环境 基础环境和相关软件准备 1.CentOS7.1 64位系统(或者其他CentOS版本的64位系统) 2.WinSCP软件(主要是方便管理和编辑Linux系统的文件) ...
- oracle中if/else
oracle中if/else功能的实现的3种写法 1.标准sql规范 一.单个IF 1. if a=... then ......... end if; 2. if a=... then .... ...