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

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

内容简介:大家好,我是彬哥,本节课给大家带来的是关于程序如何进行断点调试,本节的目的主要是让小白用户或者初学者可以学习到程序调试的基本的使用技巧等。首先,我们使用的编辑器还是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语言社区


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

查看所有标签

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

深入理解计算机系统(原书第2版)

深入理解计算机系统(原书第2版)

(美)Randal E.Bryant、David O'Hallaron / 龚奕利、雷迎春 / 机械工业出版社 / 2011-1-1 / 99.00元

本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等。书中提供大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。 本书的最大优点是为程序......一起来看看 《深入理解计算机系统(原书第2版)》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具