如何调试特定功能?

问题描述 投票:0回答:1

我有一个网站,有几个不同的功能。我可以使用localhost:5000 /到达我的网站,当我使用vscode-go调试器在调试模式下运行时,我得到以下消息API服务器监听:127.0.0.1:522238

我有一个返回几个字符串的Name函数,但我无法在调试模式下点击断点。我在我的Name函数中放了一个断点,并按如下方式放置url:127.0.0.1:522238 / name但它没有命中断点。这可能会发生什么?我的代码如下,如果我正常运行应用程序并放置http://localhost:5000/name然后一切正常,但在调试模式下这127.0.0.1:52238/name没有命中断点或页面。我使用Go作为后端api所以我需要点击url端点来查看正在发生的事情。有没有我可以调试端口:5000?

  -- Main 
 package main

 import (
     "github.com/gorilla/mux"
     "runtime"
     "./Models"
     "./Controllers"
 )

 func main() {

  Controllers.CircleRoutes(r)

     srv := &http.Server{
         ReadTimeout:  20 * time.Second,
         WriteTimeout: 20 * time.Second,
         IdleTimeout:  120 * time.Second,
         Addr:         ":5000",
     }

     srv.ListenAndServe()
    }



   // Circles Route

 package Controllers

func Name(w http.ResponseWriter, r *http.Request) {

    var result string
    r.ParseForm()
    result = "Success"

    io.WriteString(w, result)
}

 func CircleRoutes(r *mux.Router) {
     r.HandleFunc("/name", Name)
 }
go visual-studio-code vscode-debugger
1个回答
1
投票

它看起来你正在使用vscode-go调试器。您可以从vscode的launch.json配置文件配置端口。

配置应如下所示:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "remotePath": "",
            "port": 2345,
            "host": "127.0.0.1",
            "program": "${workspaceRoot}",
            "env": {
                "GOPATH": <your GOPATH>
            },
            "args": [],
            "showLog": true
        }
    ],
    "go.lintTool": "gometalinter"
}

您可以从上面的设置更改端口。要查找launch.json,只需输入ctrl+P并输入launch.json,它将在您的vscode中显示搜索的下拉结果。

© www.soinside.com 2019 - 2024. All rights reserved.