vscode使用fmt.Scanln报异常Unable to process `evaluate`: debuggee is running

1. 运行环境

刚学go语言,就是普通的运行环境。

package main

import "fmt"

func main() {
    // 可以从控制台接收用户的信息, 名字、年龄、薪水、是否通过考试

    // fmt.Scanln
    var name string
    var age byte
    var sal float32
    var isPass bool
    fmt.Println("请输入名字")
    fmt.Scanln(&name)

    fmt.Println("请输入年龄")
    fmt.Scanln(&age)

    fmt.Println("请输入薪水")
    fmt.Scanln(&sal)

    fmt.Println("请输入是否通过考试")
    fmt.Scanln(&isPass)

    fmt.Printf("名字是%v\n 年龄是%v \n 薪水是%v\n 是否是通过考试%v", name, age, sal, isPass)

    // fmt.Scanf  可以按指定的格式输入
    // fmt.Println("名字是 年龄是 薪水是 是否是通过考试, 使用空格隔开")
    // fmt.Scanf("%s %s %f %t", &name, &age, &sal, &isPass)
}

2. 问题描述?

运行调试的时候报异常:Unable to process evaluate: debuggee is running

vscode使用fmt.Scanln报异常Unable to process `evaluate`: debuggee is running

3. 您期望得到的结果?

网上也没找到其他的解决方案。

4. 您实际得到的结果?

讨论数量: 7

file

我把你的代码运行了,没有任何毛病,我没有改任何代码,标点符号都没改

3年前 评论
renxiaotu (作者) 3年前
ysxdashing (楼主) 3年前

额,我随便一搜,就有相关的答案,Google 上第一个还是本站的: 使用vscode无法正常对golang程序进行debug

你先看看能不能解决,我在本地用 vscode 调试也汇报一样的错误,不过我平常用的 goland 进行调试

3年前 评论
ysxdashing (楼主) 3年前

问题方式可以参考 github 的这个 issue,官方明确说明调试不是用来进行 stdin 标准输入的,官方给出的解决方式是采取本地远程调试的方式,让你在终端内可以输入字符用于调试 github.com/golang/vscode-go/issues...

3年前 评论

vscode这里还是挺蛋疼的

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!