彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)

栏目: Go · 发布时间: 6年前

内容简介:大家好,我是彬哥,本节课给大家带来的是关于程序如何进行断点调试,本节的目的主要是让小白用户或者初学者可以学习到程序调试的基本的使用技巧等。首先,我们使用的编辑器还是liteIDE,彬哥只是给大家简单的介绍下如何调试等基本技巧。F5 :继续执行

大家好,我是彬哥,本节课给大家带来的是关于程序如何进行断点调试,本节的目的主要是让小白用户或者初学者可以学习到程序调试的基本的使用技巧等。

首先,我们使用的编辑器还是liteIDE,彬哥只是给大家简单的介绍下如何调试等基本技巧。

彬哥笔记 --7  <a href='https://www.codercto.com/topics/6127.html'>Go</a> 语言 程序调试说明(LiteIDE为例)

调试按键说明

F5 :继续执行

Shift+F5 :停止执行

F9:增加/删除断点

F10:逐过程

F11:逐句执行

Shift+F11:跳出执行

Ctrl+F10:执行到此行

显示的数据区域:

彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)

调试数据显示区域

同学们已经看到LiteIDE编辑器整个的调试数据的基础操作说明及快捷键的使用,这里彬哥补充下,编辑器本身支持2种调试方式:

彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)

2种调试方式

Gdb无法很好的支持golang的协程机制,delve为golang而生.

彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)

delve常用命令

package main
import (
   "fmt"
   "sync"
   "time"
)
func dostuff(wg *sync.WaitGroup, i int) {
   fmt.Printf("goroutine id %d\n", i)
   time.Sleep(300 * time.Second)
   fmt.Printf("goroutine id %d\n", i)
   wg.Done()
}
func main() {
   var wg sync.WaitGroup
   workers := 10
   wg.Add(workers)
   for i := 0; i< workers; i++ {
      go dostuff(&wg, i)
   }
   wg.Wait()
}
彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)

1

彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)

2

LiteIDE默认是GDB调试,但是在服务器开发过程中,特别是上线项目,并不是用以上的方式进行调试的;多数是error流水日志或者邮件预警等,这些后面彬哥都会给大家慢慢道来。

每天坚持学习1小时Go语言,大家加油,我是彬哥,下期见!如果文章中不同观点、意见请文章下留言或者关注下方订阅号反馈!

彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)

Golang语言社区


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

App研发录:架构设计、Crash分析和竞品技术分析

App研发录:架构设计、Crash分析和竞品技术分析

包建强 / 机械工业出版社 / 2015-10-21 / CNY 59.00

本书是作者多年App开发的经验总结,从App架构的角度,重点总结了Android应用开发中常见的实用技巧和疑难问题解决方法,为打造高质量App提供有价值的实践指导,迅速提升应用开发能力和解决疑难问题的能力。本书涉及的问题有:Android基础建设、网络底层框架设计、缓存、网络流量优化、制定编程规范、模块化拆分、Crash异常的捕获与分析、持续集成、代码混淆、App竞品技术分析、项目管理和团队建设等......一起来看看 《App研发录:架构设计、Crash分析和竞品技术分析》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器