Goland 断点调试Debug的操作

第一步:进入编辑模式

第二步:开始进行编辑

第三步:就可以进行调式了

补充:goland断点调试报错

一、运行报错

runnerw.exe: CreateProcess failed with error 216 \(no message available\)

解决办法:

查看package是不是main,同时必须有个main函数,作为程序运行的主入口

查看GOOS是不是本系统的,比如windows,得设置为同一个,cmd中使用set GOOS=windows,goland中设置方法如下:

二、debug调试报错:

could not launch process: decoding dwarf section info at offset 0x0: too short

解决办法:

1.下载dlv

go get -u github.com/derekparker/delve/cmd/dlv

会在gopath的bin目录生成dlv可执行文件

2.goland中,help–>Edit Custom Properties,在末尾添加下面的代码

dlv.path=$GOPATH/bin/dlv $GOPATH使用绝对路径,因为这个文件读取不到环境中的GOPATH

如:

dlv.path=D:/go/workspace/bin/dlv

三、goland调试代码

1.VIew Breakpoints(ctrl+shift+f8):查看断点详细信息,可以设置条件,执行还是不执行该断点

3.Debugger:调试窗口

4.Show Execution Point(alt+f10):定位执行的代码

5.Step Over(f8):结束当前步骤,进入下一步,如果是方法不会进入

6.Step Into(f7):如果是方法,进入该方法里面,

7.Step out(shift+f8):跳出,和f7相反

8.f9跳到下一个断点

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • go语言中切片与内存复制 memcpy 的实现操作

    Go 语言原则上不支持内存的直接操作访问,但是提供了切片功能. 最初我以为切片就是动态数组,实际程序设计过程中发现,切片是提供数组一个内存片段的一个合法的手段,利用切片功能,实际上我们可以自由访问数组的任何一个片段,因而可以借助 copy 函数,实现内存复制. 不同类型之间的数据复制,可以借助 unsafe 取出变量地址,类型转换为数组后,利用数组切片,实现内存复制. 不罗嗦了,示例代码如下: package main import ( "fmt" "unsafe"

  • 利用go-kit组件进行服务注册与发现和健康检查的操作

    在go的微服务架构中 使用go-kit组件进行开发微服务 type Reg struct { Host string Port int Client consul.Client } func MakeReg (host string , port int) (*Reg , error) { reg := api.DefaultConfig() reg.Address = host + ":" + strconv.Itoa(port) apiclient , err = api.NewC

  • golang中切片copy复制和等号复制的区别介绍

    结论: copy复制会比等号复制慢.但是copy复制为值复制,改变原切片的值不会影响新切片.而等号复制为指针复制,改变原切片或新切片都会对另一个产生影响. 测试复制速度: func TestArr1(t *testing.T) { var a []int for i := 0; i < 100000000; i++ { a = append(a, i) } start := time.Now().UnixNano() var b = make([]int, 1000000) copy(b, a)

  • Go语言切片前或中间插入项与内置copy()函数详解

    内置append()函数能够在切片末尾位置添加新的项,假设要在切片的前面或者中间某位置插入特定项,可以这样实现 看下代码: package main import "fmt" func main() { s := []string{"M","N","O","P","Q","R"} x := InsertStringSliceCopy(s,[]string{"

  • golang中的空slice案例

    golang中允许对值为 nil 的 slice 添加元素 package main func main() { var s []int s = append(s, 1) } 运行成功~ 补充:golang slice 详解 一.数组切片的使用 func main() { //1.基于数组创建数组切片 var array [10]int = [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} var slice = array[1:7] //array[startInd

  • Go语言中的UTF-8实现

    计算机刚诞生的时候,计算机内的字符可以全部由 ASCII 来表示,ASCII 字符的长度是 7 位,可以表示 128 个字符,对于美国等国家来说是够了,但是对于世界上的其他国家,特别是东亚国家,文字不是由字母组成,汉字就有几万个,ASCII 码根本不够用. 字符本质就是对应计算机中的一个数值,既然不够用,那么解决方法就是把这个范围扩大,Unicode 的出现就解决了这个问题,它包括了世界上所有的字符,每一个字符都对应一个数值,这个数值被称之为 Unicode 码点. 但是 Unicode 也不是

  • go-kit组件使用hystrix中间件的操作

    使用go-kit中间件时,一般在endpoint中进行中间件的开发. 在endpoint层插入hystrix中间件的插入. endpoint.go func MakeEndpoint (svc services.StringService) endpoint.Endpoint { return func(ctx context.Context, request interface{}) (response interface{}, err error) { req := request.(*St

  • Goland 断点调试Debug的操作

    第一步:进入编辑模式 第二步:开始进行编辑 第三步:就可以进行调式了 补充:goland断点调试报错 一.运行报错 runnerw.exe: CreateProcess failed with error 216 \(no message available\) 解决办法: 查看package是不是main,同时必须有个main函数,作为程序运行的主入口 查看GOOS是不是本系统的,比如windows,得设置为同一个,cmd中使用set GOOS=windows,goland中设置方法如下: 二

  • IDEA 的基本介绍使用及断点调试技巧

    目录 1.IDE(集成开发环境)- IDEA 2.IDE(集成开发环境)- Eclipse 3.IDEA 的基本介绍和使用 3.1.设置字体 和 颜色主题 3.2.编译文件和源代码 3.3.IDEA 常用快捷键 3.4.模板/自定义模板 4.断点调试(debug) 4.1.实际需求 4.2.定义 4.3.断点调试的快捷键 1.IDE(集成开发环境)- IDEA IDEA 全称 IntelliJ IDEA 在业界被公认为最好的 Java 开发工具 IDEA 是 JetBrains 公司的产品,总部

  • 详解Intellij IDEA 2017 debug断点调试技巧(总结)

    在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦. 下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的,有的人keymap是mac版的,有的是Windows版的. 我的就是Windows,而且修改keymap为eclipse的keymap,因为我算是eclipse转过来的吧. 下面直接看图,详细解释,每一个按钮(按钮对应图中的数字)都是什么功能. 1,rerun XXX,这个就是直接重新跑某个程序. 2,这个

  • pycharm 使用心得(五)断点调试

    [运行]和[调试]前的设置,详见前面的文章,helloword. 1,设置断点 在代码前面,行号的后面,鼠标单击,就可以设置断点.如下: 2,调试 断点点击那个绿色的甲虫图标(似乎甲虫已经成为debug专用图标了),进行断点调试. 点击后,会运行到第一个断点.会显示该断点之前的变量信息. 点击Step Over 或者按F8,我们继续往下运行,到下一个断点: 补充: 断点的其他操作,和功能,大家可以把鼠标移到相应的按钮上,看一下,试试便知.如下: 总结: 这就是PyCharm的断点功能,还是很简单

  • PhpStorm本地断点调试的方法步骤

    前言: php代码在调试时,经常是print_r或者var_dump来断点,但是当项目较为复杂的情况下,这么做效率就非常低下了,断点调试就非常好的解决了这个问题.一开始可能不太适应断点调试,但是当习惯之后,越用越舒服. 注:以下是在windows7+apache环境 一.断点调试php环境搭建 1.检测本地php环境是否安装了Xdebug 在本地输出phpinfo():搜索Xdebug;如下图 如果没有安装,安装操作Xdebug如下: 将phpinfo();的信息全部输入网址:http://xd

  • javascript断点调试心得分享

    1.断点调试是啥?难不难? 断点调试其实并不是多么复杂的一件事,简单的理解无外呼就是打开浏览器,打开sources找到js文件,在行号上点一下罢了.操作起来似乎很简单,其实很多人纠结的是,是在哪里打断点?(我们先看一个断点截图,以chrome浏览器的断点为例) 步骤记住没? 用chrome浏览器打开页面 → 按f12打开开发者工具 → 打开Sources → 打开你要调试的js代码文件 → 在行号上单击一下,OK!恭喜你的处女断点打上了,哈哈~~ 2.断点怎么打才合适? 打断点操作很简单,核心的

  • 详解使用Visual Studio Code对Node.js进行断点调试

    在开发的过程中,几乎不可能一次性就能写出毫无破绽的程序,断点调试代码是一个普遍的需求. 作为前端开发工程师,以往我们开发的JavaScript程序都运行在浏览器端,利用Chrome提供的开发者工具就可以方便的进行源码断点调试.其步骤有四,详情不表,粗略概括如下: 打开Chrome开发者工具: 点击进入Sources标签页,在页面的左侧就能看到JS代码的目录: 找到需要设置断点的源文件,在需要中断的哪行代码左侧单击鼠标左键,就可以设置断点,如果你的代码是uglify过的,则需导入相应的source

  • chrome浏览器如何断点调试异步加载的JS

    前言 在我们日常开发中,常常利用chrome强大的控制台Sources下面进行代码断点调试,但是通过$.getScript等异步加载JS的方式在Sources里面就是找不到,那如何进行debug断点调试呢?下面来一起看看. 这是我们用Sources断点调试的实例图: 图中我们可以看到,在index.js中我们通过$.getScript引入test.js,看看表现如何: 我们在Network中看到test.js已经成功引入,但是它却属于XHR类请求,这样我们在Sources必然找不到它. 不出所料

  • JavaScrip调试技巧之断点调试

    首先,在各个浏览器中,断点调试支持的最好的当然是Firefox,Firefox不仅可以使用Firebug调试页面js脚本,还可以用高级调试工具例如JavaScript Debugger (Venkman) 来调试Firefox扩展里的js.除此之外,Firefox还支持一些更为高级的断点调试.变量监视功能. 其他浏览器里,Opera.Chrome和Safari的调试功能也比较好用.Opera的DragonFly速度相对比较快,界面清爽,功能强大,但不如Safari等友好.相比来说,IE8的程序员

  • Eclipse设置断点调试的方法

    作为开发人员,掌握开发环境下的调试技巧十分有必要.去年就想把关于Eclipse断点调试总结下了,由于对时间的掌控程度仍需极大提高,结果拖到今年才写了此篇博文难过.关于java调试技术还有很多,如Java Debug Interface等,依据具体项目的需要,还有很多值得去研究和学习的.该博文仅就Eclipse断点调试技巧做下总结,不足够的地方还请大牛们指点. 1  Debug视图 1.1 线程堆栈视图 线程堆栈视图表示当前线程的堆栈,从中可以看出在运行哪些代码,并且整个调用过程,以及代码行号.分

随机推荐