tar/usr/local
$ tar -C /usr/local -xzf go1.17.5.linux-amd64.tar.gz
解压后再设置环境变量:
$ export PATH=$PATH:/usr/local/go/bin
which
$ which go
/usr/local/go/bin/go
接着使用下面命令检查 go 是否安装成功:
$ go version
go version go1.17.5 linux/amd64
开始调试
GDBUbuntu
$ apt-get update
$ apt-get install gdb
安装完成后,我们检查是否安装成功:
$ which gdb
/usr/bin/gdb
main.go
package main
import "fmt"
func main(){
message := "Let's go"
fmt.Println(message)
}
首先,我们编译刚刚的测试文件:
$ go build -gcflags "-N -l" main.go
编译完成后使用下面的命令调试 main 程序:
$ gdb main
mainmain
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
...
(gdb) b main.main
Breakpoint 1 at 0x47e2e0: file /home/caizi/go-36/main.go, line 5.
run
(gdb) run
Starting program: /home/caizi/go-36/main
[New LWP 2814]
[New LWP 2815]
[New LWP 2816]
Thread 1 "main" hit Breakpoint 1, main.main () at /home/caizi/go-36/main.go:5
5 func main(){
c
(gdb) c
Continuing.
Let's go
[LWP 2815 exited]
[LWP 2814 exited]
[LWP 2810 exited]
[Inferior 1 (process 2810) exited normally]
q
(gdb) q
$
TUI
$ gdb -tui main
运行此命令你会看到一个可视化调试界面: