问题标签 [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 投票
5 回答
3717 浏览

go - 如何查看 GoLand 调试器是否在程序中运行?

在 C# 中,执行程序可以使用以下方法检测它是否在调试器中运行:

Go中是否有等价物?我有一些超时,我希望在单步执行代码时禁用这些超时。谢谢!

我正在使用 GoLand 调试器。

0 投票
3 回答
551 浏览

go - dlv 雨果挂了

我正在尝试使用名为dlv. 我很困惑。后:

这挂了。按 Ctrl+Chugo正常运行。据我所知,dlv debug不仅产生相同的行为,而且完全相同:生成的二进制文件debughugo我用go build -gcflags="-N -l".

dlv 启动了一些子进程,这些子进程会在一段时间后消失。该hugo过程通过psandpidof hugostrace -ppidof hugo`` 报告可见strace: attach: ptrace(PTRACE_ATTACH, ...): No such proce。检查之后,它仍然在 ps 列表中,相同的 pid。我猜是因为它在t被追踪时处于状态。

那我怎么能看雨果跑步呢?

0 投票
0 回答
206 浏览

go - 是否可以使用带有 VSCode 和 Delve 的程序调试 termbox-go?

我正在尝试使用https://github.com/nsf/termbox-go/创建控制台应用程序。作为编辑器,我使用带有 Go 插件的 VSCode 和 Delve 进行调试。

现在的问题是,当我开始调试时,我在集成控制台窗口中看不到术语框输出。但是我现在正在寻找相当多的东西,但仍然找不到在外部终端窗口中启动程序的方法。有吗?

是否有我忽略的替代方案(可能是launch.json我没有找到的设置)?如果可能的话,我如何调试这个依赖于用户输入和与 VSCode 作为我的编辑器交互的应用程序?

这是一个小示例文件:

0 投票
1 回答
1266 浏览

go - golang 做意外的堆内存分配

在进行基准测试时,我注意到一个令人惊讶的堆内存分配。减少复制后,我得到以下结果:

这是基准输出:

现在有趣的是,如果我删除 for 循环,或者如果我直接返回切片而不是切片指针,则不再有堆分配:

基准测试结果:

我发现这非常令人困惑,并通过 Delve 确认反汇编确实在 memAllocRepro 函数的开头进行了分配:

但我必须说,一旦我达到了这一点,我就不能轻易地进一步挖掘。我很确定通过查看 RAX 寄存器指向的结构至少可以知道分配了哪种类型,但这样做并不是很成功。很久没有读到这样的反汇编了。

说了这么多,我有 2 个问题: * 任何人都可以说出为什么会有堆分配,以及它是否是“预期的”?* 我怎么能在我的调试会话中走得更远?将内存转储到十六进制有不同的地址布局,go tool objdump 会输出反汇编,这会破坏地址位置的内容

使用 go tool objdump 进行全功能转储:

反汇编 RAX 寄存器指向的内存:

0 投票
1 回答
174 浏览

office365 - 如何使用 Delve 最近的文档概念在 Web 部件中的任何 SharePoint 页面上显示?

对于我正在处理的一个项目,客户需要使用 Delve 最近的文档概念。他们基本上想知道是否可以将 Delve 中的最近文档显示到可能在 Web 部件中的 SharePoint 页面上。现在,这甚至可能吗?如果有人对此有任何想法,请分享。现在我有一个内容搜索 Web 部件,它显示过去 30 天内所有最近工作的文档,按 LastModified Time 排序,效果很好,但我想知道 Delve 是否可以用来替代我所做的. 请注意,我使用的环境是 Office365。

谢谢。

0 投票
2 回答
4658 浏览

google-app-engine - 如何为 Golang 和 AppEngine 设置 VScode 调试会话?

VScodeDebugGoAppEngine

Hello World 教程展示了如何设置 VS Code 以使用 Visual Studio(又名 VScode)调试 Golang App Engine 代码

这是使用 AppEngine 文档中的 Helloworld 代码:

在运行 osX 10.13.3 的 Mac 上。

我已经测试了代码并且服务器在本地工作。我试图弄清楚如何使用调试器输入代码,以便我可以学习如何在其他项目中使用调试器。

这些是我能找到的在 GAE 中使用 VScode 的最佳说明,但它们似乎已经过时,基于对 Golang 的更新(例如切换到 Gcloud、-go_debugging 标志和更改目录结构):
https ://medium.com/@dbenque /debugging-golang-appengine-module-with-visual-studio-code-85b3aa59e0f

以下是我采取的步骤:

设置环境

  • 添加到 .bash_profile

    /li>

我如何尝试让调试器运行:

启动本地服务器。

将本地二进制文件附加到 Delve

Delve 成功附加到二进制文件。

当我启动调试会话时,蓝色进度条永远不会停止水平扫描。

VARIABLE 侧边栏永远不会填充 hello.go 中的变量

断点设置在 hello.go:第 21 行

调试 REPL 终端显示:

这是 launch.json 配置:

以下是我安装的版本:

编辑###########################

当我启动调试器时,REPL 显示:

0 投票
2 回答
2228 浏览

visual-studio-code - 使用 Delve 的 vscode 调试问题

当我在 Visual Studio 代码中调试 Go Lang 代码时,出现以下错误消息:

0 投票
0 回答
911 浏览

debugging - 如何在 Delve 中使用构建标签调试 Golang

我正在尝试使用 VSCode 的 Delve 调试 Go 代码。对于我的测试,我go test每次测试都必须使用标签运行。在我的每个测试功能上方,我看到了运行测试调试测试选项,有没有办法配置launch.json以便默认添加标签?

我一直无法找到这方面的相关文件。

0 投票
1 回答
2056 浏览

debugging - 为什么我的 Go 调试器没有加载所有符号,导致调试器中缺少局部变量?

我用: 构建了我的二进制文件,在go build -gcflags "$gc_flags" -o ./bin/grafana-server ./pkg/cmd/grafana-server哪里。$gc_flags'-N -l'

当我./bin/grafana-server在调试器(Goland)中运行此文件并附加到它时,并非所有符号都已加载。此外,一些断点会显示以下消息:

/Users/.../file.go:186 处没有代码

我想调试的代码如下:

在此处输入图像描述

添加到原始项目的部分是 lines 186-199。您可以看到执行已进入for _, ..循环(第 196 行),表明它query有数据,我们能够使用它从数据库中提取数据queryvia repo.Find(query)。但是,query在我的调试器中找不到:

在此处输入图像描述

所以我不确定此时发生了什么。不幸的是,我对 golang 真的很陌生;这让我很难取得任何进展。

0 投票
1 回答
1273 浏览

go - Go 调试适配器进程在 VS Code 中意外终止

关于这个主题有一个 github issue。我无法从这个 github 问题中找到任何线索。(https://github.com/Microsoft/vscode-go/issues/1052)我已经重新安装了 vscode go 扩展并深入研究。我已经控制了所有的环境设置。但我还没有解决问题。

有什么建议调试可能有什么问题吗?