问题标签 [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.

0 投票
1 回答
140 浏览

go - delve 是否支持更改或某些变体的热交换?

Delve 是一个了不起的调试器。delve 是否支持更改的热交换或类似 java jvm 的东西?我花了很多时间将我的代码复制到 docker 的构建 vm,然后构建所有文件,然后构建和部署 dlv,然后将所有二进制文件复制到运行时 docker 容器。我希望加快我的流程。所以,我想知道是否会支持热插拔?

0 投票
1 回答
549 浏览

go - 如何使用 Delve 检查核心转储的内存区域?

给定 Go 服务的核心转储,Delve 上是否有任何命令可以检查内存区域?我们正在尝试找出占用堆的内容。

0 投票
2 回答
3916 浏览

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 上进行调试?

0 投票
2 回答
4205 浏览

go - VS Code 中除 main.go 之外的调试文件

我正在使用 VS 代码编辑器编写 CLI。我无法弄清楚如何调试代码部分。

我的目录结构是:

  1. 我在 login.go 中设置了断点,但是如果我在这个文件中运行“开始调试”,我会得到错误
  1. 我尝试在 main.go 中运行调试器,但调试器不会转到 login.go 文件,因为我没有明确编写test login
  1. main.go文件
  1. login.go文件
  1. settings.json
  1. launch.json

请指导我如何在调试模式下查看变量值,例如变量名。虽然使用 Println 很好,但是这个源代码是一个更大项目的一部分,所以我想看看如何使用调试器?

0 投票
1 回答
732 浏览

docker - 使用 Delve 和 Docker 调试 Go API - 无法使用 Postman 访问 API

我正在尝试使用 Docker 和 Goland 调试 Go API。

我遵循了本教程,并且可以在调试 Go 应用程序时使其工作。

但是我的应用程序是一个 API,因此它会启动,并且我希望当我通过 Postman 发出请求时,我的 API 应该在断点处停止。

发生的事情是 API 没有响应,也没有被调用。

这是 Goland 应用程序日志:

它告诉我我的应用程序正在端口 9999 上运行,但 delve 正在端口 40000 上运行。

我尝试了 9999 和 40000 两个端口,但它们都不能满足我的要求。

我错过了什么?

0 投票
0 回答
39 浏览

go - 如何在通道读/写上设置断点

我试图了解 Go 程序的行为,所以我在调试器(delve)中运行它。我可以轻松地跟踪执行流程,直到它遇到将数据发送到通道的循环。

我试图弄清楚从通道读取什么代码,即一旦发生写入将执行什么。有可能弄清楚吗?是否可以在从该通道读取时设置断点?

hchan我尝试在调试器中检查通道的内部 ( )。我可以看到它有一个recvqsendq字段,它指向一个runtime.sudogruntime.g结构,其中包含一些运行时内部结构,包括一个pc或程序计数器。但是,从中我无法弄清楚代码在哪里。

0 投票
2 回答
2002 浏览

go - 如何在 VSCode 调试器中模拟交互式控制台?

我正在尝试调试这个 Go 程序,它读取文本并通过 VSCode 调试器将其输出到控制台。

它在终端上运行良好,但是当我使用 VSCode 调试它时,即使我专注于调试输出,我也无法输入任何内容。

调试部分有一个控制台,但它是 REPL 评估器,因此它也与终端控制台无关。

如何在 VSCode 中启用控制台以便向程序键入文本?

0 投票
1 回答
244 浏览

go - 如何使用 Go 的 Delve 和 Visual Studio Code 将对象的值“打印”到控制台?

我使用 Visual Studio 代码和一个超级简单的程序为 Go 设置了“Delve”调试器。如果我设置了一个断点,并且我想打印一个之前声明的变量,我习惯于po foo将对象 foo 的值打印到控制台,但 Visual Studio Code 只是抱怨“预期的 'EOF' ”。

如何打印?如果我想通过打印值来测试,Delve 不支持吗?

0 投票
1 回答
1093 浏览

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 后,我在调试时收到以下错误:

“调试适配器进程意外终止(读取错误)”

0 投票
2 回答
3040 浏览

go - 无法在 Go 调试器中调用函数

为了学习围棋,我正在关注 Karl Seguin 的“围棋小书”。

我的工作环境是 Visual Studio Code。

调试时,当我尝试从调试控制台调用函数时,我收到以下错误:“不使用'call'不允许函数调用”,如果我尝试使用“call fib(10)”,我会得到“无法eval 表达式:“1:6:预期的 'EOF',找到 fib”。这是我要评估的函数:

如果我尝试从代码本身调用该函数(例如,从 main() 调用,它可以完美运行)。

但是,如果我设置断点并尝试从调试器控制台调用相同的函数,则会收到以下错误: