news 2026/3/28 0:17:34

golang debug调试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
golang debug调试

1. 本地调试

1:Add Configurations 添加配置文件(Run kind :Directory)



2:进入run运行窗口


3:debug断点调试模式



1. Resume Program (继续运行)
图标: ?? 或 ? 快捷键: F9(Windows/Linux)、Command+Option+R(Mac) 作用: 程序会继续运行直到下一个断点或调试结束。如果没有更多断点,程序会正常执行至结束。
2. Step Over (单步跳过)
图标: ? 快捷键: F8(Windows/Linux)、Command+F8(Mac) 作用: 单步执行当前代码行,但不会进入函数内部(如果当前行是函数调用,会跳过函数内部的执行)。
3. Step Into (单步进入)
图标: ??↘? 快捷键: F7(Windows/Linux)、Command+Option+Down(Mac) 作用: 进入当前行调用的函数内部进行调试。如果该行没有函数调用,则执行下一行代码。
4. Step Out (单步返回)
图标: ↖??? 快捷键: Shift+F8(Windows/Linux)、Command+Option+Up(Mac) 作用: 跳出当前函数,返回到调用此函数的上一层,并暂停在那里。
5. Evaluate Expression (表达式求值)
图标: ?? 快捷键: Alt+F8(Windows/Linux)、Option+F8(Mac) 作用: 允许你在调试过程中动态评估某个表达式的值,非常适合临时检查复杂变量或表达式的运行结果。
6. Show Execution Point (显示当前执行点)
图标: ?? 或 ?? 快捷键: Alt+F10(Windows/Linux)、Option+Command+P(Mac) 作用: 跳转到当前程序执行的代码位置(特别适合在查看其他文件后快速回到当前断点)。
7. Drop Frame (回退当前栈帧)
图标: ?? 作用: 重置当前栈帧的状态,从当前函数重新执行一遍。这不会改变全局程序状态,仅适用于当前函数调用。
8. Stop (停止调试)
图标: ■ 快捷键: Ctrl+F2(Windows/Linux)、Command+F2(Mac) 作用: 停止调试会话,终止当前调试运行。
9. Mute Breakpoints (屏蔽断点)
图标: ???(小喇叭) 作用: 暂时禁用所有断点,但不删除。程序会无视所有断点直接运行。
10. View Breakpoints (查看断点列表)
图标: ??? 快捷键: Ctrl+Shift+F8(Windows/Linux)、Command+Shift+F8(Mac) 作用: 打开断点管理窗口,方便查看、启用、禁用或删除断点。
如法炮制,下面是Run kind另外两种调试:
Run kind :Package



Run kind :File




2. 附加到进程

1:安装插件
go install github.com/google/gops@latest


2:编译指定参数
go build -gcflags="all=-N -l" -o demo.exe

3:附加到进程





3. 远程调试

1:设置编译环境变量
$Env:CGO_ENABLED=0;$Env:GOARCH="amd64";$Env:GooS="linux"

2:编译运行文件
# 命令二选一皆可以 go build -o main .main.go go build -gcflags="all=-N -l" -o main

3:上传到服务器执行(使用ftp工具或者rz命令上传都行)
sudo chmod +x main

4:服务器需要安装go环境,这里不讲解,自行安装

5:服务器安装调试工具,进行进程监控转发,远程调试
go install github.com/go-delve/delve/cmd/dlv@latest

6:配置远程调试
dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec ./main -- -j=10






下面是远程调试的另一种方式
1:通过进程id监控
ps -aux | grep main //查看进程信息 dlv --listen=:2345 --headless=true --api-version=2 attach 898805 //添加进程


2:进入debug

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/23 12:40:24

GUVA-S12SD UV紫外线传感器原理图设计,已量产(光线传感器)

目录 1、传感器的工作回路设计 2、运放的缓冲与滤波设计 3、实际应用的注意点 在户外便携式设备、环境监测节点这类嵌入式应用中,紫外线强度检测是很常见的功能需求。选对传感器和配套电路,既能控制成本,又能保证检测稳定性 ——GUVA-S12SD 就是个不错的选择,它不用额外…

作者头像 李华
网站建设 2026/3/26 13:36:13

authfwcfg.dll文件丢失找不到 打不开问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/3/24 4:55:04

2026年大模型学习路线图 | 四大方向+避坑指南,助你顺利转行0_基础能不能转大模型?到底怎么转?

文章分析了2025年普通人转向大模型领域的路径,指出大模型是一个包含应用层、模型层、训练链路等多层技术体系,而非仅是ChatGPT。文章揭示了新人常见误区,详细介绍了数据、平台、应用、部署四大方向及其适合人群,并提供了分阶段学习…

作者头像 李华
网站建设 2026/3/27 16:08:05

FrankenPHP实践

目录 1. 说明 2. 程序修改 3. 性能测试 4. 配置 4.1 Docker化部署 4.2 Caddy泛域名和证书设置 4.3 相关命令 5. 要点: 6. 参考 1. 说明 Frankenphp是一个先进的,结合了高性能Caddy服务器的PHP环境框架,它允许用户只需要少量改动&am…

作者头像 李华
网站建设 2026/3/4 4:28:19

深入解析DDR内存原理、测试方法及在嵌入式系统中的应用

文章目录摘要1. DDR内存核心技术解析1.1 物理架构与存储原理1.2 关键时序参数2. DDR测试方法与工具链2.1 测试环境搭建2.2 MemTest86测试流程3. 嵌入式系统集成实践3.1 ARM Cortex-A内存控制器配置4. 完整测试代码实现5. 常见问题解决5.1 信号完整性问题6. 成果展示技术图谱摘要…

作者头像 李华