Skip to content

Latest commit

 

History

History
72 lines (46 loc) · 2.17 KB

vscode_debug_go_self.md

File metadata and controls

72 lines (46 loc) · 2.17 KB

技巧:VSCode 调试 Golang 自身源码

Golang 自身源码 是指:/usr/local/go/src 的源码,或说 https://github.com/golang/go 的源码

VSCode 可快速对 Golang 自身源码进行 debug 调试。

更准确说,可快速对 Golang 中的测试用例进行调试

目录

前提

本文不详述,并认为你已能做到以下几点:

开始 debug

下面以 Mac 为例。

假设你的 Golang 安装位置在 /usr/local/go,即默认的 GOROOT

  1. 命令行中执行以下命令,表示以 VSCode 打开 Golang 自身源码:
code /usr/local/go/src

#

code $GOROOT/src
  1. 随便打开一些测试用例,如 VSCode 中打开这两个文件:
path/path.go
path/path_test.go
  1. path/path.gofunc Ext( ... 函数内打个断点,如 这行
func Ext(path string) string {
	for i := len(path) - 1; i >= 0 && path[i] != '/'; i-- {
		if path[i] == '.' {
			return path[i:]
		}
	}
	return ""
}
  1. 打开 path/path_test.go 文件,按下 F5,等一小会,应会在刚打断点的行停下来

  2. 演示完毕

用途?

若对 Golang 内部机制有疑惑,可通过调试 Golang 自身源码对应功能的用例来证明自己的想法。

例如,想了解 go get @ 的各种用途,可调试 这个文件