问题标签 [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 回答
3578 浏览

go - 使用 Delve 调试时将参数传递给可执行文件

我想在执行时将参数传递给二进制文件dlv

但是当我这样做时,我收到以下错误:

使用 dlv 调试器时如何将参数传递给二进制文件?

0 投票
1 回答
8839 浏览

unit-testing - 在 go 中构建单个测试

我的项目中有两个测试,我想构建一个测试,将生成的二进制文件放在一个容器中,运行它,然后附加一个调试器。

这可能吗?

0 投票
1 回答
643 浏览

macos - 安全性:SecKeychainSearchCopyNext 错误 - 无法在 MacOS 上安装 Delve

我使用以下方式安装了 Delve:

日志显示一些问题:

它没有安装,因为在运行命令时dlv 出现错误:

zsh:找不到命令:dlv

0 投票
0 回答
316 浏览

debugging - 在 emacs 中使用 gud 提示缺少正在运行的 delve?

以下是使用 MSYS-2 在我的 Windows 10 桌面上从命令行运行 delve 的体验:

在此处输入图像描述

下面是从 GNU emacs (W64) 版本 25.1.1 运行 delve 的体验 -
ShellPrompt> emacs -nw H:/code/Go/book/chap1_lissajous/lissajous.go
Cx-2
Mx dlv
Run dlv (like this): dlv debug H:/code/Go/book/chap1_lissajous/lissajous.go
导航到 lissajous.go:34 并点击 CxCaCb 切换断点 导航到 dlv 缓冲区 点击 'c',整个交互的体验如下所示:

在此处输入图像描述

使用 emacs 运行时,请注意 c(继续)命令前面没有(dlv) 。在非终端模式下使用 emacs 的结果也是一样的。

我试图找到任何需要应用才能显示提示的 gud 自定义。我找不到任何东西,也找不到其他人在网上遇到这个问题。有人知道我是否遗漏了什么吗?

注意:我不得不发布图像而不是格式化文本,因为我无法弄清楚如何使用降价来使用调试器中的行号以格式化方式呈现代码。我不允许使用未格式化的代码发布问题。我向那些只能查看我帖子的文字而不是图片的人道歉。需要图像才能完整地查看问题。

0 投票
1 回答
1407 浏览

go - 设置环境变量 Delve

我正在尝试使用 Delve 调试我的 Go 程序。

钻研

我可以很好地调试我的单元测试,但是,我想在调试模式下运行我的整个二进制文件,然后在某些断点处停止。

要正常运行我的二进制文件,我使用命令

我正在尝试运行 delve 调试器

但是我得到了错误:

错误:未知标志:--AWS_REGION

我假设我错误地设置了环境变量。

0 投票
1 回答
1150 浏览

go - 远程调试 Go REST 端点

我是 Go 新手和 VSCode 新手。我以前也从未使用过 Delve。我正在尝试设置远程调试,但我似乎无法达到断点。

我的项目在 localhost:8080 上托管 REST 端点。为了让 delve 附加和侦听,launch.json 文件应该是什么样子,以便我可以在我的 REST 端点上放置断点?目前,这就是我所拥有的:

提前致谢!

0 投票
1 回答
1176 浏览

docker - 使用 Go 和 GoLand IDE 远程调试 HTTP 请求

我是新手,深入研究和 GoLand IDE。我想远程调试一些使用 docker 部署make和运行的 REST 端点(使用 docker + docker-compose)。

我用来调出我的环境的命令是make myproject

我的端点托管在:localhost:8080

在 GoLand 中创建调试配置时,它指定在运行之前 dlv debug --headless --listen=:2345 --api-version 2,请执行以下操作:

一旦它在 localhost:8080 上运行,我有没有办法附加到我的项目?如果是这种情况,这些命令会有什么不同?

提前致谢

0 投票
1 回答
974 浏览

go - 被 vscode delve 调试器弄糊涂了

我到处搜索并尽我所能,但在 VSCODE 中调试 go exe 对我来说真的很奇怪。

如果我单步执行代码,调试器有时似乎会到处乱跳,就好像我在切换线程一样。大多数时候,如果我将鼠标悬停在变量上,什么都不会发生。如果我尝试将它们添加为手表,我只会“不可用”。我正在 IDE 中构建和运行。

我有最新版本的 go and delve。我看到我应该使用一些 gcflags 设置来避免编译器优化,但什么也没做。不知道如何取得进展。有什么线索吗?


更新:毕竟,这只是 VSCODE 使用的构建任务中的一个错字。问题确实是编译器优化,需要使用以下确切语法禁用它:

}

相关的是我正在使用“exec”而不是“debug”来调试可执行文件。

0 投票
0 回答
603 浏览

testing - VSCode 或 Delve 问题 - 根本无法测试

我在 GitHub 上有两个项目(https://github.com/NlaakStudios)(gowaf和 ezgo)。使用 VSCode 和 Delve 进行调试和测试可以与 gowaf 存储库完美配合,使用默认的 launch.json。它不适用于 ezgo,这只是 gowaf 的配置移到了不同​​的 repo 中。使用 gowaf,我在包和测试函数上方获得了“运行打包测试”和“运行文件测试”选项。ezgo 我没有。gowaf 已创建,并且在上次 VSCode 更新之前正在调试和测试,更新之后是 ezgo。两者都是没有主包的框架,所以我需要为非主二进制文件启用测试(正如我一直在做的那样)。下面是 gowaf(工作)和 ezgo(不工作)中配置包的输出

gowaf/配置/

运行工具:D:\Go\bin\go.exe test -coverprofile=C:\Users\Nlaak\AppData\Local\Temp\go-code-cover -timeout 30s

PASS 覆盖率:91.8% 的语句正常 /d /GO_Projects/src/github.com/NlaakStudios/gowaf/config 0.059s 成功:测试通过。

ezgo/配置/

API 服务器侦听:127.0.0.1:27828 不是可执行文件无法删除 d:\GO_Projects\src\github.com\NlaakStudios\ezgo\config\debug.test:删除 d:\GO_Projects\src\github.com\ NlaakStudios\ezgo\config\debug.test:系统找不到指定的文件。进程退出代码:1

我目前的重点是代码覆盖率,这简直要了我的命。完全停止,我一生都无法弄清楚。任何帮助,将不胜感激。如果您想在我监控时实际使用它,我有 TeamViewer。提前致谢...

0 投票
1 回答
2420 浏览

go - 如何为特定的 goroutine 设置断点?

我正在尝试调试一个简单的 golang 程序,但不知道如何在delve调试器中的特定 goroutine 上设置断点。

这是一个例子:

我这样做dlv debug

在 goroutine 上设置断点,在这里我直观地假设调试器将停止两次(在每个调用的 goroutine 上):

检查c变量的值:

继续执行:

退出调试器:

因此,带有结果的 goroutine1没有被调试器击中。如何在 goroutine 结果中调试代码执行1