前情回顾:
一、本地调试
1、Go Demo
package main
import (
"flag"
"fmt"
)
// 声明输入参数hxpInputParam 默认值为0 用途描述
var hxpInputParam = flag.Int("hxpInputParam", 0, "Input parameter for 珩小派")
func main() {
fmt.Println("珩小派-本地调试,配置演示开始")
//解析命令行参数并设置相应的标志变量
flag.Parse()
var x = 5
fmt.Println("The value of x is:", x)
// 两数相加
sum := *hxpInputParam + x
fmt.Println("The sum of add x and hxpInputParam is:", sum)
fmt.Println("珩小派-本地调试 End!")
}
2、GoLand Run/Debug Configurations
最终输出结果
珩小派-本地调试,配置演示开始
The value of x is: 5
The sum of add x and hxpInputParam is: 55
珩小派-本地调试 End!
二、附加到进程
1、Go Demo
package main
import (
"flag"
"fmt"
"time"
)
var hxpInputParam1 = flag.Int("hxpInputParam1", 0, "Input parameter for 珩小派")
func main() {
flag.Parse()
var i = 0
for {
fmt.Println("print", i, *hxpInputParam1)
i++
time.Sleep(time.Second)
}
}
2、安装gops 插件
执行以下命令
go install github.com/google/gops@latest 安装插件成功
GoLand-Run-Attach to Process
找到进程
附件到进程 ERROR
虽然已经运行Debug 但是无法获取Debug信息
could not attach to pid 2684: decoding dwarf section info at offset 0x0: too sho
rt - debuggee must not be built with 'go run' or -ldflags='-s -w', which strip d
ebug info

3、编译并运行可执行文件
编译生成可执行文件
go build -gcflags="all=-N -l" -o StudyDebugProcess.exe 
运行可执行文件

本文是转载文章 珩小派,版权归原作者所有。建议访问原文,转载本文请联系原作者。
本文介绍了使用Golang进行本地调试的方法,包括通过GoLand配置、命令行参数传递和附加到进程调试。过程中提到了gops插件的使用以及注意事项,如避免使用`gorun`或带有`-s-w`标志的编译选项以保持调试信息。
1080

被折叠的 条评论
为什么被折叠?



