Arm32进行远程调试
Arm 32bit Goland 远程调试
32位支持issue
Goland配置Go remote支持文档
https://mojotv.cn/go/golang-remote_debug
Delve
官方版本delve并不支持arm-32位,直接安装会提示架构不符合
架构判定文件为https://github.com/go-delve/delve/blob/master/pkg/proc/native/support_sentinel.go
个人水平有限,没有太明白这里的go build构建约束,欢迎大佬在评论区解读
注:第二行是老式的构建约束写法,大家看第一行就行了
// This file is used to detect build on unsupported GOOS/GOARCH combinations. //go:build (!linux && !darwin && !windows && !freebsd) || (linux && !amd64 && !arm64 && !386) || (darwin && !amd64 && !arm64) || (windows && !amd64) || (freebsd && !amd64) // +build !linux,!darwin,!windows,!freebsd linux,!amd64,!arm64,!386 darwin,!amd64,!arm64 windows,!amd64 freebsd,!amd64 package your_operating_system_and_architecture_combination_is_not_supported_by_delve
在issue下找到该仓库,实装后可以正常运行,
https://github.com/puppywang/delve
下载后进行安装make install
启动
- Goland远程启动程序A
## goland 终端打印 GOROOT= #gosetup GOPATH=/root/go #gosetup /root/Env/go/bin/go build -i -o /root/**/executables-7agJx2Zna4/___11_linux demo/cmd/demo #gosetup go: -i flag is deprecated /root/****/executables-nq690aaBJS/___11_linux ## 查下进程id,后面用 ps axu|grep ___11_linux 获得`exe_PID`
- 远程终端启动
dlv
#PID 为程序A进程 dlv --listen=:5604 --headless=true --api-version=2 --check-go-version=false attach 获得`exe_PID` //TODO 补充命令参数作用
- Goland配置Go remote
Host 远程部署IP
port 5604(上面)
然后即可进行远程调试
转载请标明,谢谢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?