一分耕耘,一分收获!既然打开了这篇文章《Scanner.Scan() 在 GoLand 调试器中挂起》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解
一分耕耘,一分收获!既然打开了这篇文章《Scanner.Scan() 在 GoLand 调试器中挂起》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!
问题内容在 osx mojava 上使用 go v1.11.1 和 goland 2018.3。当我在正常模式下(不通过调试器)运行以下程序时,它工作正常。当我使用调试器运行它时,它挂在 scanner.scan() 调用中。
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
scanner := bufio.newscanner(os.stdin)
fmt.println("hello")
fmt.print("> ")
for scanner.scan() {
input := scanner.text()
fmt.println(input)
fmt.print("> ")
}
}
使用调试器进行单步调试,scanner.scan() 似乎一直在读取输入。我在名为“zsyscall_darwin_amd64.go”的文件中找到了这一行:
r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
无论我在命令提示符中输入什么内容,它都不会返回。在非调试器配置中,它工作正常并打印回我输入的任何内容(按 enter 键后)。
感谢您的评论。报告该问题后,我意识到这是 GoLand 中的一个已知问题,并且已经存在一年多了:
https://youtrack.jetbrains.com/issue/GO-4264
OSX 上的 delve 调试器后端似乎存在一些问题。评论中的一个潜在解决方法涉及在本机模式下编译您自己的后端,但这可能会导致其他问题。
希望尽快修复。没有调试器很难调试:)。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于golang的相关知识,也可关注编程网公众号。
--结束END--
本文标题: Scanner.Scan() 在 GoLand 调试器中挂起
本文链接: https://www.lsjlt.com/news/596193.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0