代码之家  ›  专栏  ›  技术社区  ›  user1591668

如何调试特定函数?

  •  0
  • user1591668  · 技术社区  · 7 年前

    我有一个网站有几个不同的功能。我可以使用localhost:5000/访问我的网站,当我使用vscode go debugger以调试模式运行它时,我会收到以下消息 API服务器侦听:127.0.0.1:52238

    我有一个名称函数,它返回几个字符串,但在调试模式下无法命中断点。我在name函数中放置了一个断点,并按如下所示放置URL: 127.0.0.1:52238/姓名 但是,它没有命中断点。这里会发生什么?如果我正常运行应用程序并将 http://localhost:5000/name 然后一切正常,除了在调试模式下 127.0.0.1:52238/姓名 未命中断点或页。我使用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)
     }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Rohanil    7 年前

    看起来您正在使用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中显示搜索的下拉结果。