开发者

golang debug调试的实现

目录
  • 1. 本地调试
  • 2. 附加到进程
    • 1:安装插件
    • 2:编译指定参数
  • 3:附加到进程
    • 4. 远程调试
      • 1:设置编译环境变量
      • 2:编译运行文件
      • 3:上传到服务器执行(使用ftp工具或者rz命令上传都行)
      • 4:服务器需要安装go环境,这里不讲解,自行安装
      • 5:服务器安装调试工具,进行进程监控转发,远程调试
      • 6:配置远程调试

    1. 本地www.devze.com调试

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

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    2:进入run运行窗口

    golang debug调试的实现

    golang debug调试的实现

    3:debug断点调试模式

    golang debug调试的实现

    golang debug调试的实现

    golang 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+Shif编程客栈t+F8(Windows/Linux)、Command+Shift+F8(Mac)
    作用: 打开断点管理窗口,方便查看、启用、禁用或删除断点。
    

    如法炮制,下面是Run kind另外两种调试:

    Run kind :Package

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    Run kind :File

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    2. 附加到进程

    1:安装插件

    go install github.com/google/gops@latest
    

    golang debug调试的实现

    golang debug调试的实现

    2:编译指定参数

    go build -gcflags="all=-N -l" -o demo.exe
    

    golang debug调试的实现

    3:附加到进程

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    4. 远程调试

    1:设置编译环境变量

    $Env:CGO_ENABLED=0;$Env:GOARCH="amd64";$Env:GooS="linux"
    

    golang debug调试的实现

    2:编译运行文件

    # 命令二选一编程皆可以
    go build -o main .\main.go
    go build -gcflags="all=-N -l" -o main
    

    golang debug调试的实现

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

    sudo chmod +x main
    

    golang debug调试的实现

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

    golang debug调试的实现

    5:服务器安装调试工具,进行进程监控转发,远程调试

    go install phpgithub.com/go-delve/delve/cmd/dlv@latest
    

    golang debug调试的实现

    6:配置远程调试

    dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec ./main -- -j=10
    

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    golang debug调试的实现

    下面是远程调试的另一种方式

    1:通过进程id监控

    ps -aux | grep main		//查看进程信息
    dlv --listen=:2345 --headless=true --api-version=2 attach 898805		//添加进程
    

    golang debug调试的实现

    golang debug调试的实现

    2:进入debug

    golang debug调试的实现

    到此这篇关于golang debug调试的实现的文章就介绍到这了,更多相关golang debug调试内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)! 

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜