- 主题:【已经解决】如何跟踪go编译过程,在交叉编译情况下?
1. 如果GOARCH跟GOHOSTARCH都等于"amd64"时,直接用dlv exec xxx/goroot/pkg/tool/linux_amd64/compile, hello.o就可以了。
2. 但是在GOHOSTARCH="amd64", GOARCH="riscv64"的情况下呢?
我知道交叉编译命令为:GOARCH=riscv64 go build hello.go,这样能生成riscv的可执行文件。但是怎么能像1.中那样去跟踪go的编译过程呢?其实就是想跟踪go后端riscv的machine代码生成部分,没试成功。
--
修改:amiworld FROM 114.249.118.*
FROM 114.249.118.*
我帖子里的问题,我解决了。
是用来debug的,也可以跟踪代码啊,我要跟踪学习go编译器源码,而不是跟踪go应用程序。
【 在 adu 的大作中提到: 】
: 我不知道。
: 我有个问题问一下,dlv不是用来debug的吗?类似于GDB。
:
--
FROM 114.249.118.*
请教一下,这样描述是有啥问题吗?
我是想跟踪go编译器源码,不是去跟踪go应用程序。
【 在 adu 的大作中提到: 】
: "跟踪go的编译过程"吓我一跳
:
--
FROM 114.249.118.*
包含吧,用dlv调试没问题,用gdb调试发现不好用。构建go编译器的时候,GO_GCFLAGS="-N -l"来关闭优化。
【 在 littleSram 的大作中提到: 】
: 请问一下,compile里包含调试信息吗?
--
FROM 114.249.118.*