调试Go源代码

本文详细介绍了如何在Windows环境下修改并重新编译Go 1.17.5版本的源代码。首先,解释了GOROOT和GOPATH的作用,接着描述了调试过程,包括安装Go最新稳定版、修改fmt/print包中的Println函数、解决自举编译问题,以及如何使用1.4版本的Go编译新版本。最后,检查编译结果并提供了相关参考资料。
摘要由CSDN通过智能技术生成

修改并重新编译1.17.5版本Go源码

GOROOT和GOPATH

GOROOT为Go语言的安装路径,里面包含Go语言的一些源码。
GOPATH为工作目录,目录中包括

  1. 编译后的二进制文件
  2. 下载的依赖包
  3. 项目源码路径

调试过程

  1. Windows环境下安装golang最新稳定版本
    下载go源码

  2. 修改源代码
    在Go/src/fmt/print中可以找到golang常用的打印函数Println,尝试修改该函数:
    修改源代码
    println是GO运行时内置的方法,不依赖任何包。

  3. 编译修改后的源代码
    运行src目录下的all.bat文件,发现报错

ERROR: Cannot find C:\Users\reysong\Go1.4\bin\go.exe
Set GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.

查阅资料后发现Go在1.5版本之后实现了自举,所以在1.5之前Go可以直接用GCC源码编译,要编译1.5及以后版本必须先编译一个1.4版本的Go,用编译好

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值