Spectrum 链开发--IDE 断点调试介绍

ZhangHQ · · 840 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Spectrum 链开发--IDE 断点调试介绍

作者:GirpZhang

实验环境

  • Windows10

  • go1.9.2.windows-amd64

  • Visual Studio Code

  • Git 2.18.0

需要完成 Visual Studio Code + GoLang 开发环境配置

  • 安装 go1.9.2.windows-amd64

  • 安装 Git

  • 安装 GoLang,配置 GOPATH

    本例中使用的 "GOPATH":"E:/GoPath";"GOROOT":"E:/Go"

  • 安装 Visual Studio Code,安装 Go 插件,介绍中是 Rich Go language support for Visual Studio Code

  • 调试配置:

    VSCode->查看->调试->添加调试目标,在"没有调试"的下拉框中点击"添加配置.." 添加目标调试配置:


{

    "version": "0.2.0",

    "configurations": [

        {

            "name": "Launch",

            "type": "go",

            "request": "launch",

            "mode": "debug",

            "remotePath": "",

            "port": 2345,

            "host": "127.0.0.1",

            "program": "${fileDirname}",

            "env": {

                "GOPATH":"E:/GoPath",

                "GOROOT":"E:/Go"

            },

            "args": [],

            "showLog": true

        }

    ]

}

下载 Spectrum 代码


git clone git@github.com:SmartMeshFoundation/Spectrum.git

调试准备

  • 在 E:/GoPath/src 下新建多级目录:\github.com\SmartMeshFoundation\Spectrum

  • 将下载下来的 Spectrum.git 中的代码复制到 E:/GoPath/src/github.com/SmartMeshFoundation/Spectrum 下

  • 打开 VSCode,选择 文件->打开文件夹->打开 Spectrum 文件夹

  • 打开 cmd->smc->main.go 文件

  • F5 调试,会提示如下错误:


Failded to continue:"Cannot find Delve debugger. Install from https://github.com/derekparker/delve & ensure it is in your "GOPATH/bin" or "PATH"

  • 然后我们使用 Go 命令行编译调试器、将 dlv 调试器放在 GOPATH 的 bin 目录下

    • 使用 cmd 命令行,进入目录 E:\GoPath\bin

    • 执行命令安装 dlv

    
    go get github.com/derekparker/delve/cmd/dlv
    
    
  • 然后就可以正常调试了,在需要的地方打上断点进行单步调试:

image

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:ZhangHQ

查看原文:Spectrum 链开发--IDE 断点调试介绍

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

840 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传