本次测试环境为docker运行的centos
- 创建main.go
package main
func main() {
go hello()
}
func hello() {
println("hello world")
}
- 编译main.go
go build main.go
- gdb调试main
- gdb main
- info files //显示entry point
- b *0x45bc8 //entry point处打断点
上图可以看到程序入口为/usr/lib/golang/src/runtime/rt0_linux_amd64.s第8行,也就是:
这个JMP指令会跳到这里:
接着跳到这里: