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

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

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


彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)_第1张图片
调试按键说明

F5 :继续执行
Shift+F5 :停止执行
F9:增加/删除断点
F10:逐过程
F11:逐句执行
Shift+F11:跳出执行
Ctrl+F10:执行到此行

显示的数据区域:


彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)_第2张图片
调试数据显示区域

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


彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)_第3张图片
2种调试方式

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


彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)_第4张图片
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为例)_第5张图片
1

彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)_第6张图片
2

      LiteIDE默认是GDB调试,但是在服务器开发过程中,特别是上线项目,并不是用以上的方式进行调试的;多数是error流水日志或者邮件预警等,这些后面彬哥都会给大家慢慢道来。
      每天坚持学习1小时Go语言,大家加油,我是彬哥,下期见!如果文章中不同观点、意见请文章下留言或者关注下方订阅号反馈!


LollipopGo游戏服务器地址:
https://github.com/Golangltd/LollipopGo
社区视频课程课件GIT地址:
https://github.com/Golangltd/codeclass
Golang语言社区论坛 :
www.Golang.Ltd


彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例)_第7张图片
Golang语言社区

你可能感兴趣的:(彬哥笔记 --7 Go语言 程序调试说明(LiteIDE为例))