亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 VS Code 中調試除 main.go 之外的文件

在 VS Code 中調試除 main.go 之外的文件

Go
慕工程0101907 2023-07-10 14:25:25
我正在使用 VS 代碼編輯器在 go 中編寫 CLI。我無法弄清楚如何調試代碼部分。我的目錄結構是:- test  - main.go  - cmd    - login.go    - root.go我已在 login.go 中設置斷點,但如果我在此文件中運行“開始調試”,則會出現錯誤Can not debug non-main packageProcess exiting with code: 1我嘗試在 main.go 中運行調試器,但調試器不會轉到 login.go 文件,因為我們沒有明確編寫test loginAPI server listening at: 127.0.0.1:48423A longer description that spans multiple lines and likely containsexamples and usage of using your application. For example:cd .Cobra is a CLI library for Go that empowers applications.This application is a tool to generate the needed filesto quickly create a Cobra application.Usage:  test [command]Available Commands:  help        Help about any command  login       A brief description of your commandFlags:      --config string   config file (default is $HOME/.test.yaml)  -h, --help            help for test  -t, --toggle          Help message for toggleUse "test [command] --help" for more information about a command.main.go文件package mainimport "test/cmd"func main() {  cmd.Execute()}login.go文件package cmdimport (    "fmt"    "github.com/spf13/cobra")// loginCmd represents the login commandvar loginCmd = &cobra.Command{    Run: func(cmd *cobra.Command, args []string) {        fmt.Println("login called")        name, _ := cmd.Flags().GetString("username")        pwd, _ := cmd.Flags().GetString("password")        userInfo := name + ":" + pwd    },}func init() {    rootCmd.AddCommand(loginCmd)    // Here you will define your flags and configuration settings.    loginCmd.Flags().StringP("username", "u", "", "Specifies the user")    loginCmd.Flags().StringP("password", "p", "", "Specifies the password for the user")    loginCmd.Flags().StringP("manager", "m", "", "Specifies the environement where user wants to login")}settings.json{    "go.gopath":"/Users/deepakpatankar/go"}請指導我如何在調試模式下查看變量值,例如變量名稱。雖然使用 Println 很好,但是這個源代碼是一個更大項目的一部分,所以我想看看如何使用調試器?
查看完整描述

2 回答

?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

修改你的launch.json如下:


{

    "version": "0.2.0",

    "configurations": [

        {

            "name": "Launch",

            "type": "go",

            "request": "launch",

            "mode": "debug",

            "program": "${workspaceRoot}",

            "env": {},

            "args": [],

            "port": 8080,

            "host": "127.0.0.1"

        }

    ]

}

您會發現與您的存在一些差異。


...

"mode": "debug",

"program": "${workspaceRoot}",

...


查看完整回答
反對 回復 2023-07-10
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

"args": []您可以在 vscode 設置中向數組添加標志,如下所示:

"args": ["login", "-u", "username", "-p", "password"]

這將確保當您運行調試時,您最終會進入帶有給定標志的登錄命令。


查看完整回答
反對 回復 2023-07-10
  • 2 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號