go语言exe调试 go语言调试器

如何配置go语言开发环境1、下载go的zip文件 。并且一定要把文件解压到c:\go目录下 。
【go语言exe调试 go语言调试器】2、配置windows的高级环境变量 。包括:GOROOT、GOOS、GOBIN、GOARCH 。并且在path变量里面把c:\go\bin加入 。以便可以在命令行直接运行go命令 。
举例:我的机器:
GOPATH= c:\go;c:\go\src;F:\workspace\goSample01;
GOBIN=c:\go\bin;F:\workspace\goSample01\bin;
其中,c:\go是go的安装路径;
F:\workspace\goSample01是我写的go语言项目的工程目录;
F:\workspace\goSample01\bin是go语言项目的工程目录下的可执行文件路径;
3、在完成环境变量配置后,打开一个命令行窗口 , 直接输入go , 然后回车,看看是否出现go的帮助信息 。如果出现,那么go的基本环境就OK了 。
注意:这个基本环境不包含开发工具,也不能直接编译带C代码的go程序 。
4、(可选)为了支持Import远程包,最好装个gomingw 。下载地址: 。如果下的是压缩包,请把它解压到C盘 。例如,C:\gowin-env 。里面有个Console.bat是以后使用go get的环境 。举例:有个文件a.go,里面import(
"fmt"
"github.com/astaxie/beedb"
_ "github.com/ziutek/mymysql/godrv"
为了编译该a.go文件 , 需要启动Console.bat,然后在该命令行窗口 , 进入c:\go\src目录下,执行go getgithub.com/astaxie/beedb
Go get github.com/ziutek/mymysql/godrv .
Go会自动下载该远程包并编译和安装这些包 。
配置goclipse(可?。?
(如果不喜欢eclipse开发工具 , 请跳过这个配置 。)
1、下载并安装goclipse插件 。Goclipse是go语言for eclipse的插件,下载地址:
2、启动eclipse并创建go项目 。然后写个最简单的helloworld.go文件,并运行 。代码如下:
packagemainimport"fmt"func main(){fmt.Printf("hello, world")}
配置gocode(可?。?
如果不需要go语法辅助和eclipse里面的(按ALT /)弹出go语言自动辅助功能,请跳过这个配置 。
1、下载gocode的zip文件,解压后放在go的bin目录下 。
2、下载并安装Git软件 。并且在path里面配置git的执行路径 。例如c:\git\bin
3、在命令行执行:go build .\gocode 。如果一切正常,那么将会编译生成一个gocode.exe文件在go的bin目录下 。如果编译失败,那么就转第4步 。
4、如果第3步直接编译gocode源文件成功,那就直接到第5步 。否则,就需要通过git下载gocode源文件,然后再编译 。在命令行执行:go get -u github.com/nsf/gocode。就会生成gocode.exe文件 。
5、在goclipse插件里面指定gocode的路径 。就可以在elcipse里面调用gocode来帮助写编码了 。
从开发工具这块看 , go语言还不够成熟,开发工具都还不完善,有待改进 。
下载go-tour教程源代码(可?。?
Google有个在线运行go语言的教程(),很不错 。支持在web上直接运行大部分的go程序 , 想了解这个教程的源代码的朋友可以通过以下方式获取 。如果没兴趣,可以跳过这个步骤 。
调试Go语言的核心转储(Core Dumps)英文原文链接【Go, the unwritten parts】发表于2017/05/22 作者JBD是Go语言开发小组成员
检查程序的执行路径和当前状态是非常有用的调试手段 。核心文件(core file)包含了一个运行进程的内存转储和状态 。它主要是用来作为事后调试程序用的 。它也可以被用来查看一个运行中的程序的状态 。这两个使用场景使调试文件转储成为一个非常好的诊断手段 。我们可以用这个方法来做事后诊断和分析线上的服务(production services) 。
在这篇文章中,我们将用一个简单的hello world网站服务作为例子 。在现实中 , 我们的程序很容易就会变得很复杂 。分析核心转储给我们提供了一个机会去重构程序的状态并且查看只有在某些条件/环境下才能重现的案例 。
作者注 : 这个调试流程只在Linux上可行 。我不是很确定它是否在其它Unixs系统上工作 。macOS对此还不支持 。Windows现在也不支持 。
在我们开始前,需要确保核心转储的ulimit设置在合适的范围 。它的缺省值是0,意味着最大的核心文件大小是0 。我通常在我的开发机器上将它设置成unlimited 。使用以下命令:
接下来,你需要在你的机器上安装 delve。
下面我们使用的 main.go 文件 。它注册了一个简单的请求处理函数(handler)然后启动了HTTP服务 。
让我们编译并生产二进制文件 。
现在让我们假设,这个服务器出了些问题,但是我们并不是很确定问题的根源 。你可能已经在程序里加了很多辅助信息,但还是无法从这些调试信息中找出线索 。通常在这种情况下,当前进程的快照会非常有用 。我们可以用这个快照深入查看程序的当前状态 。
有几个方式来获取核心文件 。你可能已经熟悉了奔溃转储(crash dumps) 。它们是在一个程序奔溃的时候写入磁盘的核心转储 。Go语言在缺省设置下不会生产奔溃转储 。但是当你把 GOTRACEBACK 环境变量设置成“crash” , 你就可以用 Ctrl backslash 才触发奔溃转储 。如下图所示:
上面的操作会使程序终止 , 将堆栈跟踪(stack trace)打印出来,并把核心转储文件写入磁盘 。
另外个方法可以从一个运行的程序获得核心转储而不需要终止相应的进程 。gcore 可以生产核心文件而无需使运行中的程序退出 。
根据上面的操作 , 我们获得了转储而没有终止对应的进程 。下一步就是把核心文件加载进delve并开始分析 。
差不多就这些 。delve的常用操作都可以使用 。你可以backtrace,list,查看变量等等 。有些功能不可用因为我们使用的核心转储是一个快照而不是正在运行的进程 。但是程序执行路径和状态全部可以访问 。
【接口测试】Go语言进行简单的接口测试在正常的测试中,当我们需要进行接口测试时,通常使用接口调试工具 , 如postman进行接口测试
目前我在尝试使用Go语言进行接口测试,使用的库均为Go自带的库 。
注:当前采用的接口为时事新闻接口,每天可以请求100次,需要的同学,可以自行使用 。
eclipse配置go?1.下载go的windows下的安装包:
也可以下载源代码 , 用MinGW编译 。先配置好MinGW的环境 , 再运行all.bat即可 。
MingW:
2.下载gocode,用于go的补全提示:
gocode 的github地址:
要安装git,在windows下,通常用msysgit 。
再在cmd下安装:
go get -u github.com/nsf/gocode
也可以下载代码,直接用go build来编译,会生成gocode.exe 。
3.在eclipse中安装插件:
4.配置插件:
(1).配置go的编译器
(2).配置gocode(可?。饫镂矣玫氖莈clipse插件自带的gocode 。
(3).配置gdb,做调试用(可?。?
如果安装了MingW , 可以在安装目录下找到gdb 。
5.测试是否成功
新建一个go工程 , 再建立一个hello.go 。如下图:
gdb调试如下(要在console中用输入命令来调试):
6.其它
2012年3月31日:
目前这个eclipse插件,只能把代码放在cmd包中才能运行 。
貌似现在流行的是Sublime Text2gocode 。Sublime Text也的确比较好用 。
======================
Eclipse平台下配置Go语言开发环境(Win7)
《Go语言编程》中写到:“从功能和易用性等方面考虑, Eclipse GoEclipse、LiteIDE这两个环境在所有IDE里面是表现最好的”,所以笔者打算采用Eclipse GoEclipse开发环境 。
Eclipse平台下配置Go语言开发环境步骤:
1、安装JDK和Eclipse
建议JDK1.6及以上版本 。Eclipse3.6及以上版本 。
2、安装GoEclipse插件
在Eclipse中点击菜单“Help”-》“Install New Software”打开如下对话框,添加go插件的安装地址:,
按提示一步一步操作即可,下载时可能会遇到网络问题,可使用goagent或其他代理 。
3、安装并配置Go的编译器
下载地址:
下载时请注意版本,应选择windows-386的版本 。
安装完后重启Eclipse,并通过菜单项“Window”-》“Preferences”-》“Go”打开Go语言的配置选项框 。如下图:
选择Go的安装路径即可,如笔者的安装路径是F:\Work\Go
4、配置调试器(可?。?
需要先安装MinGW,下载地址:
安装完之后 , 通过菜单项“Window”-》“Preferences”-》“Go”-》“Debugger”打开调试器的配置选项框 。
将GDB路径配置为:MinGW安装目录下的gdb.exe文件即可 。
5、配置代码自动补全(可?。?
需要配置gocode,可使用goEclipse插件自带的版本 , 也可以自己下载:
笔者使用的是goEclipse插件自带的版本 , 配置方式如下:
通过菜单项“Window”-》“Preferences”-》“Go”-》“Gocode”打开配置选项框 。
将Gocode的路径配置为:goEclipse的安装路径下的gocode.exe文件,如
F:\Work\eclipse\plugins\com.googlecode.goclipse.gocode_0.7.6.v450\tools\windows_386\gocode.exe
6、配置支持Import远程包(可?。?
为了支持Import远程包,最好装个gowin-env 。下载地址: 。如果下的是压缩包,请把它解压到C盘 。例如,C:\gowin-env 。里面有个Console.bat是以后使用go get的环境 。举例:有个文件a.go,里面import (
"fmt"
"github.com/astaxie/beedb"
_ "github.com/ziutek/mymysql/godrv"
为了编译该a.go文件,需要启动Console.bat , 然后在该命令行窗口,进入c:\go\src目录下,执行go getgithub.com/astaxie/beedb
Go get github.com/ziutek/mymysql/godrv .
Go 会自动下载该远程包并编译和安装这些包 。
7、go install: no install location for directory *** outside GOPATH错误的处理
由于每一个Go程序都必须包含一个main包以及一个main()函数,因此如果没有main包就会导致上述错误 。
What Doesn't Kill Me Makes Me Stronger
windows 怎么编译 go语言1、解压压缩包到go工作目录 , 如解压到E:\opensource\go\go,解压后的目录结构如下:
E:\opensource\go\go
├─api
├─bin
│├─go.exe
│├─godoc.exe
│└─gofmt.exe
├─doc
├─include
├─lib
├─misc
├─pkg
├─src
└─test
2、增加环境变量GOROOT,取值为上面的go工作目录
3、Path环境变量中添加";%GOROOT%\bin",以便能够直接调用go命令来编译go代码,至此go编译环境就配置好了
注:如果不想手动设置系统环境变量,也可下载go启动环境批处理附件,
修改goenv.bat文件中的GOROOT值为上面的go工作目录后直接双击该bat文件,go编译环境变量即设置完成 。
4、测试go编译环境 , 启动一个cmd窗口,直接输入go , 看到下面的提示就是搭建成功了
E:\opensource\go\gogo
Go is a tool for managing Go source code.
Usage:
go command [arguments]
The commands are:
buildcompile packages and dependencies
cleanremove object files
docrun godoc on package sources
envprint Go environment information
fixrun go tool fix on packages
fmtrun gofmt on package sources
getdownload and install packages and dependencies
installcompile and install packages and dependencies
listlist packages
runcompile and run Go program
testtest packages
toolrun specified go tool
versionprint Go version
vetrun go tool vet on packages
Use "go help [command]" for more information about a command.
Additional help topics:
gopathGOPATH environment variable
packagesdescription of package lists
remoteremote import path syntax
testflagdescription of testing flags
testfuncdescription of testing functions
Use "go help [topic]" for more information about that topic.
5、编译helloworld测试程序,go语言包中test目录带有helloworld.go测试程序,源码见"附一 helloworld.go",
直接调用"go build helloworld.go"就生成了"helloworld.exe"可执行程序,运行一下这个程序看到了我们期望的hello,wolrd 。
E:\opensource\go\go\testgo build helloworld.go
E:\opensource\go\go\testhelloworld.exe
hello, world
E:\opensource\go\go\test
附一 helloworld.go
// cmpout
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Test that we can do page 1 of the C book.
package main
func main() {
print("hello, world\n")
}
关于go语言exe调试和go语言调试器的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读