调试:在Vscode软件中调试.go文件代码

1.1.1 确保调试文件正常运行

准备好.go文件,并且该文件能正常运行,终端输入命令运行程序,如:go run time.go

测试代码:


package main

import (
    "fmt"
    "time"
)
func main() {
    fmt.Println("start")     time.Sleep(1 * time.Second)
    fmt.Println("1s")
    time.Sleep(500 * time.Millisecond)
    fmt.Println("500ms")
    time.Sleep(500 * time.Microsecond)
    fmt.Println("500us")     start := time.Now()
    time.Sleep(10000 * time.Microsecond)
    elapsed := time.Since(start)     fmt.Println(elapsed)
}

1.1.2 添加go.mod

在终端输入命令 go mod init module,创建go.mod文件

注意:如果没有go.mod文件进行调试的时候会出现报错

1.1.3 给调试文件添加断点

进入要调试的.go文件中,鼠标移至代码行的左侧会出现一个红点,鼠标左键点击想要断点的代码行进行断点,该代码行会进行红点标记。再次点击已经断点的红点可取消断点。

1.1.4 创建调试的.json文件

点击视图左侧的运行和调试按钮,或使用快捷键Ctrl+Alt+D,点击创建launch.json文件。

点击Launch Package,生成launch.json文件,

launch.json,代码如下:

注意:该代码适用于项目中只有一个.go文件时调试。

 1 {
2 // 使用 IntelliSense 了解相关属性。
3 // 悬停以查看现有属性的描述。
4 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
5 "version": "0.2.0",
6 "configurations": [
7 {
8 "name": "Launch",
9 "type": "go",
10 "request": "launch",
11 "mode": "auto",
12 "program": "${fileDirname}"
13 }
14 ]
15 }
 

若项目中有多个.go文件,打开任意一个.go文件都能进行断点调试,launch.json文件代码更新如下:(更改program)

 1 {
2 // Use IntelliSense to learn about possible attributes.
3 // Hover to view descriptions of existing attributes.
4 // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 "version": "0.2.0",
6 "configurations": [
7 {
8 "name": "Launch Package",
9 "type": "go",
10 "request": "launch",
11 "mode": "auto",
12 "program": "${fileDirname}\\${fileBasenameNoExtension}.go"
13 },
14 ]
15 }

点击视图左侧的资源管理器按钮,可以看到目录下生成launch.json文件。

1.1.5 启动调试和停止调试

点击资源管理器目录下要调试.go文件将其打开,点击视图上方的运行点击启动调试或按下键盘键F5进行调试。

 

还可以点击运行和调试界面中的开始调试按钮进行调试

在视图上方看到调试工具,调试运行成功,正在运行的断点会出现黄色边框,点击调试工具的红色正方形或快捷键Shift+F5停止调试。视图左下方可以看到断点数据,可以进行断点的相关操作。

在调试的状态下,目录中会出现调试包:__debug_bin1875079819.exe,停止调试后就没有了。

VScode 中golang 调试 F5,json文件内容更改 Go的更多相关文章

  1. inux中tail命令---用于查看文件内容

    linux中tail命令---用于查看文件内容 最基本的是cat.more和less.1. 如果你只想看文件的前5行,可以使用head命令,如:head -5 /etc/passwd2. 如果你想查看 ...

  2. js vs2013中允许js访问json文件的解决方案

    js  vs2013中允许js访问json文件的解决方案 <?xml version="1.0" encoding="utf-8"?> <!- ...

  3. 在Unity中使用LitJson解析json文件

    LitJson 这个库需要找资源,找到LitJson.dll后将它放在Assets文件夹下,在脚本中使用using引入即可 测试代码 json文件: {"Archice":[{&q ...

  4. 【转】Linux 中清空或删除大文件内容的五种方法(truncate 命令清空文件)

    原文: http://www.jb51.net/article/100462.htm truncate -s 0 access.log -------------------------------- ...

  5. 解决gvim 8.1中zip插件打开zip文件内容时,而文件路径带有空格的问题。

    解决gvim 8.1中zip插件打开zip文件内容时,而文件路径带有空格的问题. 现象是只能打开一次,第二次打开就显示为空了. 通过 lcd切换工作目录.使得命令行操作中不再有带空格的路径 vim81 ...

  6. Java 读取Json文件内容

    读取json文件为String类型: import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logge ...

  7. GoStudy——解决vscode中golang插件依赖安装失败问题

    vscode中安装ms-vscode.go插件后可以开启对go语言的支持,ms-vscode.go插件需要依赖一些工具,安装完成后提示 Installing github.com/nsf/gocode ...

  8. 解决vscode中golang插件依赖安装失败问题

    vscode中安装ms-vscode.go插件后可以开启对go语言的支持,ms-vscode.go插件需要依赖一些工具,安装完成后提示 gocode go-outline go-symbols gur ...

  9. PHP中获取某个网页或文件内容的方法

    1. 通过file_get_contents()函数$contents = file_get_contents('http://demo.com/index.php');echo $contents; ...

  10. 一.在Linux中for和cat遍历文件内容出现no space

    以前使用for var in file方式逐行读取文件内容的时候,都没有出现问题,但是今天使用如下代码,会出现“no space” ,目标数据文件内容为6.8M, # 写入临时文件,第一行不能写入 f ...

随机推荐

  1. 【Xpath】 xpath语法总结

    节点选取 表达式 描述 用法 说明 nodename 选取此节点的所有子节点 div 选取div下的所有标签 // 从全局节点中选择节点,任意位置均可 //div 选取整个HTML页面的所有div标签 ...

  2. 【易车网实例】x-sign逆向保姆级教程

    易车号x-sign逆向 前言 许多网站都有反爬机制,x-sign加密就是许多反爬虫机制的其中一种,本次将以易车号作为目标进行演示. 方法仅供学习参考. 链接:https://hao.yiche.com ...

  3. 【JS】Knockout动态刷新及绑定数据

    <script> // Knockout ViewModel Define function RemarkTemplateModel() { var self = this; // Cur ...

  4. 2022-10-07:给定员工的 schedule 列表,表示每个员工的工作时间。 每个员工都有一个非重叠的时间段 Intervals 列表,这些时间段已经排好序。 返回表示 所有 员工的 共同,正

    2022-10-07:给定员工的 schedule 列表,表示每个员工的工作时间. 每个员工都有一个非重叠的时间段 Intervals 列表,这些时间段已经排好序. 返回表示 所有 员工的 共同,正数 ...

  5. vue核心

    VUE简介 vue--一套用于构建用户界面的渐进式JavaScript框架 vue特点 采用组件化模式--提高代码复用率--让代码更好维护 声明式编程--让编码人员无需直接操作DOM--提高开发效率 ...

  6. React-hooks 父组件通过ref获取子组件数据和方法

    我们知道,对于子组件或者节点,如果是class类,存在实例,可以通过 React.createRef() 挂载到节点或者组件上,然后通过 this 获取到该节点或组件. class RefTest e ...

  7. 局部添加加载中效果loading (vue+elementUI)

    产品需求:有时候我们不想为整个页面添加loading效果.只想给局部区域添加loading效果.(这效果就不揍产品了) 在一个表格数据加载时,因为需要连接其它东西,所以后台接口返回数据需要较长时间,因 ...

  8. Galaxy Project | 生信人最值得学习的开源项目之一

    我与 Galaxy Project 的渊源可以追溯到我刚毕业,还在华大实习的那一段时间,这个项目应该是我职业生涯中最重要的一段经历.虽然这么对年以来一直都关注着这个项目,但大多数都是浅尝辄止,对源码层 ...

  9. vim 之中 U 命令的浅析

    以下文章来源于CSDN,作者黑翼天使56,本文章经原作者同意后授权转载. 今天看 vim帮助文档的 user-manual 的第二章,发现了还有U(大写)这个命令,于是反复实验,略微搞懂了一点它的用处 ...

  10. BGP选路

    实验拓扑 实验需求 现有三个自治系统,需要对R1访问R4的loopback-X数据走向进行精确控制: R1访问R4的loopback0走R2,通过在R1上修改本地优先级实现 R1访问R4的loopba ...