如何调试特定函数?



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

我有一个返回多个字符串的 Name 函数,但我无法在调试模式下命中断点。我在 Name 函数中放置了一个断点,并将 url 放置如下:127.0.0.1:52238/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)
}

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

相关内容

  • 没有找到相关文章

最新更新