调试:在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. java中的 \r——字符串消失了

    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 使用Integer.parseInt( ...

  2. vue项目使用rem布局刷新页面瞬间元素尺寸由小变大,页面闪现错乱样式

    vue项目使用px2remLoader插件,在index.html自定义设置font-size的大小,尤其是在首屏加载的时候,会出现页面各个元素尺寸由小变大的一个过程,很难看 刚开始一直在想是不是因为 ...

  3. Sourcetree 提交顺序

    总结:一共5个步骤 1.首先获取git主分支的代码. 2.暂存所需要上传的代码. 3.拉取代码(如发生文件冲突先暂不处理). 4.提交代码,然后再次拉取代码(不显示冲突跳下一步).如果还是显示文件冲突 ...

  4. 2020-10-07:redis存在线程安全的问题吗?为什么?

    福哥答案2020-10-07:#福大大架构师每日一题# Redis6.0的多线程部分只是用来处理网络数据的读写和协议解析,执行命令仍然是单线程顺序执行.所以我们不需要去考虑控制 key.lua.事务, ...

  5. 2022-01-03:比如arr = {3,1,2,4}, 下标对应是:0 1 2 3, 你最开始选择一个下标进行操作,一旦最开始确定了是哪个下标,以后都只能在这个下标上进行操作。 比如你选定1下标,

    2022-01-03:比如arr = {3,1,2,4}, 下标对应是:0 1 2 3, 你最开始选择一个下标进行操作,一旦最开始确定了是哪个下标,以后都只能在这个下标上进行操作. 比如你选定1下标, ...

  6. Midjourney|文心一格prompt教程[基础篇]:注册使用教程、风格设置、参数介绍、隐私模式等

    Midjourney|文心一格prompt教程[基础篇]:注册使用教程.风格设置.参数介绍.隐私模式等 开头讲一下为什么选择Midjourney和文心一格,首先Midjourney功能效果好不多阐述: ...

  7. 2013年蓝桥杯C/C++大学A组省赛真题(高斯的日记)

    题目描述: 大数学家高斯有个好习惯:无论如何都要记日记. 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第 ...

  8. js 之二 事件对象

    事件对象 /当事件的响应函数被触发时,浏览器每次都会讲一个事件对象作为实参传递响应函数; 在事件对象中封装了当前事件相关的一切信息,比如:鼠标的,键盘的操作 // 当鼠标在areaDiv中移动时,在s ...

  9. 从0搭建Vue3组件库(十三):引入Husky规范git提交

    为什么要引入 husky? 虽然我们项目中引入了prettier和eslint对代码格式进行了校验,但是多人开发的时候难免依然会有人提交不符合规范的代码到仓库中,如果我们拉取到这种代码还得慢慢对其进行 ...

  10. 【Python爬虫】批量爬取网页的图片&制作数据集

            由于Python拥有强大且丰富的类库,语法简单,效率高而被广泛运用于网络爬虫,很多人都是通过爬虫认识Python.         因为小编最近正在做目标识别相关的项目,所以需要大量的 ...