调试:在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. [Pytorch框架] 3.3 通过Sin预测Cos

    文章目录 3.3 通过Sin预测Cos 3.3 通过Sin预测Cos %matplotlib inline import torch import torch.nn as nn from torch. ...

  2. 深度学习-06(PaddlePaddle体系结构与基本概念[Tensor、Layer、Program、Variable、Executor、Place]线性回归、波士顿房价预测)

    文章目录 深度学习-06(PaddlePaddle基础) paddlePaddle概述 PaddlePaddle简介 什么是PaddlePaddle 为什么学习PaddlePaddle PaddleP ...

  3. Java Lambda Stream

    ::方法使用 条件:lambada表达式的主体仅包含一个表达式,且lambada表达式只调用一个已经存在的方法:被引用的方法的参数列表与lambada表达式的输入输出一致 以下是Java 8中方法引用 ...

  4. linux安装tomcat,mysql

    环境:centos7.6 ssh连接工具:tabby 安装tomcat 创建目录 mkdir /opt/tomcat 获取tomcat: 1.自己百度下载 2.我这里提供百度网盘 链接:https:/ ...

  5. 解析草稿-造价管理-工程经济-P190-例4.2.3

    原题 计算步骤 需要记忆的概念 excel计算文件 [腾讯文档]例题

  6. Centos环境下部分中间件“rabbitmq、rocketmq、clickhouse”部署

    部分中间件部署 目录 部分中间件部署 docker部署rabbitmq docker部署rocketmq 单机部署clickhouse docker部署rabbitmq # 拉镜像 docker pu ...

  7. pandas 常用操作记录

    apply函数 一个非常灵活的函数,能够对整个DataFrame或者Series执行给定函数的操作. 函数可以是自定义的,也可以是python或者pandas内置的函数,还可以是匿名函数. 作用: 用 ...

  8. 2022-09-22:以下go语言代码输出什么?A:5、B:不能编译;C:运行时死锁。 package main import ( “fmt“ “time“ ) func main

    2022-09-22:以下go语言代码输出什么?A:5.B:不能编译:C:运行时死锁. package main import ( "fmt" "time" ) ...

  9. linux DHCP

    目录 一.DHCP概念 二.DHCP工作过程 三.DHCP实验 一.DHCP概念 概念:动态主机配置协议,自动为计算机分配tcp/ip参数 DHCP的优点:1.减少管理员的工作难度 2.避免错误的可能 ...

  10. cookie和session以及token

    cookie和seesion以及token 技术都基于状态保持, cookie: ​ 有服务器生成, 以 k:v 形式保持在浏览器端,下次请求服务器,附带cookie信息:存在恶意修改可能:可以对co ...