问题标签 [delve]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - delve 是否支持更改或某些变体的热交换?
Delve 是一个了不起的调试器。delve 是否支持更改的热交换或类似 java jvm 的东西?我花了很多时间将我的代码复制到 docker 的构建 vm,然后构建所有文件,然后构建和部署 dlv,然后将所有二进制文件复制到运行时 docker 容器。我希望加快我的流程。所以,我想知道是否会支持热插拔?
go - 如何使用 Delve 检查核心转储的内存区域?
给定 Go 服务的核心转储,Delve 上是否有任何命令可以检查内存区域?我们正在尝试找出占用堆的内容。
go - 在 Visual Studio Code WSL 中调试 Go 代码
我有一个运行 Windows 的 Linux 子系统的 Visual Studio Code 环境,它可以很好地编译和运行 Go 项目。
现在我正在尝试让 delve 调试器按照此链接运行:
https://github.com/Microsoft/vscode-go/wiki/Debugging-Go-code-using-VS-Code
但我无法让它运行,无论是远程的还是本地的。
尝试了 launch.json 中的所有类型的配置,但没有命中断点并且没有打印错误消息。
有没有人使用 WSL 在 VSCode 上进行调试?
go - VS Code 中除 main.go 之外的调试文件
我正在使用 VS 代码编辑器编写 CLI。我无法弄清楚如何调试代码部分。
我的目录结构是:
- 我在 login.go 中设置了断点,但是如果我在这个文件中运行“开始调试”,我会得到错误
- 我尝试在 main.go 中运行调试器,但调试器不会转到 login.go 文件,因为我没有明确编写
test login
main.go
文件
login.go
文件
settings.json
launch.json
请指导我如何在调试模式下查看变量值,例如变量名。虽然使用 Println 很好,但是这个源代码是一个更大项目的一部分,所以我想看看如何使用调试器?
docker - 使用 Delve 和 Docker 调试 Go API - 无法使用 Postman 访问 API
我正在尝试使用 Docker 和 Goland 调试 Go API。
我遵循了本教程,并且可以在调试 Go 应用程序时使其工作。
但是我的应用程序是一个 API,因此它会启动,并且我希望当我通过 Postman 发出请求时,我的 API 应该在断点处停止。
发生的事情是 API 没有响应,也没有被调用。
这是 Goland 应用程序日志:
它告诉我我的应用程序正在端口 9999 上运行,但 delve 正在端口 40000 上运行。
我尝试了 9999 和 40000 两个端口,但它们都不能满足我的要求。
我错过了什么?
go - 如何在通道读/写上设置断点
我试图了解 Go 程序的行为,所以我在调试器(delve)中运行它。我可以轻松地跟踪执行流程,直到它遇到将数据发送到通道的循环。
我试图弄清楚从通道读取什么代码,即一旦发生写入将执行什么。有可能弄清楚吗?是否可以在从该通道读取时设置断点?
hchan
我尝试在调试器中检查通道的内部 ( )。我可以看到它有一个recvq
和sendq
字段,它指向一个runtime.sudog
和runtime.g
结构,其中包含一些运行时内部结构,包括一个pc
或程序计数器。但是,从中我无法弄清楚代码在哪里。
go - 如何在 VSCode 调试器中模拟交互式控制台?
我正在尝试调试这个 Go 程序,它读取文本并通过 VSCode 调试器将其输出到控制台。
它在终端上运行良好,但是当我使用 VSCode 调试它时,即使我专注于调试输出,我也无法输入任何内容。
调试部分有一个控制台,但它是 REPL 评估器,因此它也与终端控制台无关。
如何在 VSCode 中启用控制台以便向程序键入文本?
go - 如何使用 Go 的 Delve 和 Visual Studio Code 将对象的值“打印”到控制台?
我使用 Visual Studio 代码和一个超级简单的程序为 Go 设置了“Delve”调试器。如果我设置了一个断点,并且我想打印一个之前声明的变量,我习惯于po foo
将对象 foo 的值打印到控制台,但 Visual Studio Code 只是抱怨“预期的 'EOF' ”。
如何打印?如果我想通过打印值来测试,Delve 不支持吗?
unit-testing - 调试在命令行中工作,但在 UI 中未命中断点
我在我的 Windows 10 机器上安装了以下内容:
- VS 代码 - 版本 1.38.1
- Golang - 版本 go1.13
- Delve - 版本 1.3.0
我在环境变量中设置了 GOROOT 和 GOPATH。我的 GOPATH 有以下三个文件夹:
- 源代码
- 垃圾桶
- 包
在 src 下,我创建了一个基本的 sam-app。它自动创建 main_test.go 文件。当我进行“调试测试”时,断点没有在 UI 中命中。但是,我可以在命令行中使用 dlv 进行调试。
我在 launch.json 中尝试了不同的配置。他们都没有工作。在我朋友的机器上,即使没有配置,UI 调试也能正常工作
在 VS Code 设置 --> 节点调试 --> 自动附加 --> 我设置了“开启”
我已关闭 VS Code 并重新打开。那没起效
我以管理员身份打开 VS Code,它也没有工作
我已经卸载并重新安装了 VS Code
我已经卸载并重新安装了 Golang
我在 VS Code 中安装了 Go 扩展
/li>
当我调试 main.go 或 main_test.go 时,我希望在 UI 中触发断点。
更新:
在我将 VS Code 降级到 1.30.2 并安装 Go 扩展和 Delve 后,我在调试时收到以下错误:
“调试适配器进程意外终止(读取错误)”
go - 无法在 Go 调试器中调用函数
为了学习围棋,我正在关注 Karl Seguin 的“围棋小书”。
我的工作环境是 Visual Studio Code。
调试时,当我尝试从调试控制台调用函数时,我收到以下错误:“不使用'call'不允许函数调用”,如果我尝试使用“call fib(10)”,我会得到“无法eval 表达式:“1:6:预期的 'EOF',找到 fib”。这是我要评估的函数:
如果我尝试从代码本身调用该函数(例如,从 main() 调用,它可以完美运行)。
但是,如果我设置断点并尝试从调试器控制台调用相同的函数,则会收到以下错误: