芹菜是一根葱
专业解决各种前端Bug,吊打各种面试官

调试:在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,停止调试后就没有了。

 

 

 

 

posted on 2023-07-31 13:52  芹菜是一根葱  阅读(664)  评论(1编辑  收藏  举报