如何makefile 配置编译golang 带有debug信息

152 阅读1分钟

原来的release版本

@$(GOBUILD) -v -ldflags "-s -w" -trimpath -o $(target)/bin/init.exe cmd/init/main.go
@$(GOBUILD) -v -ldflags "-s -w" -trimpath -o $(target)/bin/log.exe cmd/dump/main.go

-s -w就是把debug信息去掉的同时把二进制体积变小

改变后

@$(GOBUILD) -v -gcflags="all=-N -l"  -o $(target)/bin/init.exe cmd/init/main.go
@$(GOBUILD) -v -gcflags="all=-N -l" -o $(target)/bin/log.exe cmd/dump/main.go

这样就带debug信息

但是网上说新版本的go编译器,可以使用下面的方式,在我的环境不行,golang 1.23.2

@$(GOBUILD) -v -ldflags="-compressdwarf=false"  -o $(target)/bin/init.exe cmd/init/main.go
@$(GOBUILD) -v -ldflags="-compressdwarf=false" -o $(target)/bin/log.exe cmd/dump/main.go