news 2026/2/10 21:06:23

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/1/30 8:54:19

Go基础之环境搭建

文章目录 1 Go 1.1 简介 1.1.1 定义1.1.2 特点用途 1.2 环境配置 1.2.1 下载安装1.2.2 环境配置 1.2.2.1 添加环境变量1.2.2.2 各个环境变量理解 1.2.3 验证环境变量 1.3 包管理工具 Go Modules 1.3.1 开启使用1.3.2 添加依赖包1.3.3 配置国内包源 1.3.3.1 通过 go env 配置1.…

作者头像 李华
网站建设 2026/2/5 11:40:43

clickhouse-介绍、安装、数据类型、sql

1、介绍 ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。 OLAP(On-Line Ana…

作者头像 李华
网站建设 2026/2/7 18:39:27

GO 快速升级Go版本

由于底层依赖升级了,那我们也要跟着升,go老版本已经不足满足需求了,必须要将版本升级到1.22.0以上 查看当前Go版本 命令查看go版本 go version [rootlocalhost local]# go version go version go1.21.4 linux/amd64 [rootlocalhost local]# …

作者头像 李华
网站建设 2026/2/8 3:14:15

GaussDB数据库中SQL诊断解析之配置SQL限流

配置SQL限流 GaussDB提供SQL限流功能,当存在异常SQL(如存在不优索引)、SQL并发量上升时,通过SQL限流功能控制异常SQL的访问量或者并发量,保障服务的可用性。 前提条件 登录账号需要具备授权项“gaussdb:instance:listF…

作者头像 李华
网站建设 2026/2/7 11:28:32

交通仿真软件:Aimsun_(5).交通流量模拟

交通流量模拟 1. 交通流量的基本概念 交通流量是指在一定时间内通过某一道路断面的车辆数量。在交通仿真软件中,交通流量的模拟是核心功能之一,它可以帮助交通工程师和规划人员评估道路网络的性能,优化交通管理策略,预测交通拥堵等…

作者头像 李华
网站建设 2026/2/10 5:45:59

Flask:后端框架使用

文章目录 1、介绍2、demo演示3、Flask请求和响应 3.1 演示demo3.2 request获取请求体数据3.3 requests发送请求3.4 响应返回和接收 4、特殊路由 4.1 路由重定向4.2 路由拦截器 1、介绍 Flask是由python语言编写的轻量级Web应用框架,主要应用于后端框架&#xff…

作者头像 李华