码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

    启动

    1. 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`
    
    1. 远程终端启动dlv
    #PID 为程序A进程
    dlv --listen=:5604 --headless=true --api-version=2 --check-go-version=false attach 获得`exe_PID`
    
    //TODO 补充命令参数作用
    
    1. Goland配置Go remote

    Host 远程部署IP
    port 5604(上面)

    然后即可进行远程调试

  • 相关阅读:
    c++ isalpha isalnum isdigit islower isupper tolower toupper
    05 MIT线性代数-转置,置换,向量空间Transposes, permutations, spaces
    论如何优雅的注入Java Agent内存马
    Docker学习——④
    总结一下vue中v-bind的常见用法
    【0103】【内存上下文】重置内存上下文(AllocSetReset)
    光路科技:工业以太网交换机引领工业互联网新篇章
    java部署教程
    22.11.19打卡 CF1278B
    linux 指定时间 执行一次 命令
  • 原文地址:https://www.cnblogs.com/guapilsh/p/16526100.html
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号