标签: delve

Grafana代码调试

我是Grafana的新手,我已经安装了Grafana并完成了read me文件中给出的所有说明.我现在使用Visual Code for go lang我只想调试Grafana代码,以便我能理解这个过程.

谁能告诉我我必须做的事情.我听说调用Delve这个调试器.任何人都可以告诉我如何使用它,因为当我使用Delve时,它说该位置没有可构建的源文件.

我遵循了以下链接:https: //github.com/grafana/grafana,https://github.com/derekparker/delve

go grafana delve

6
推荐指数
1
解决办法
607
查看次数

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

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

System.Diagnostics.Debugger.IsAttached
Run Code Online (Sandbox Code Playgroud)

在 Go 中有等价物吗?我有一些超时,我想在我逐步执行代码时将其禁用。谢谢!

我正在使用 GoLand 调试器。

go delve goland

6
推荐指数
2
解决办法
3026
查看次数

Delve的vscode调试问题

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

2018/04/03 18:19:32 server.go:73: Using API v1
2018/04/03 18:19:32 debugger.go:98: launching process with args: [$GOPATH/src/about/debug]
could not launch process: EOF
Process exiting with code: 1
Run Code Online (Sandbox Code Playgroud)

visual-studio-code delve

6
推荐指数
1
解决办法
1377
查看次数

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

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

我的工作环境是 Visual Studio Code。

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

//Fibonnaci
func fib(n int) int64 {
    if n == 0 {
        return 0
    } else if n == 1 {
        return 1
    } else {
        return fib(n-1) + fib(n-2)
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

Eval error: function calls not allowed without using 'call'
call fib(10)
Unable to eval expression: "1:6: expected 'EOF', found fib"
Failed to eval expression:  {
 "Expr": "call fib(10)",
 "Scope": {
  "goroutineID": 1, …
Run Code Online (Sandbox Code Playgroud)

go visual-studio-code delve

6
推荐指数
1
解决办法
1947
查看次数

如何在 vscode 中调试 goroutine?

考虑下面的小片段:

package main

import (
    "fmt"
    "sync"
)

func main() {
    var wg sync.WaitGroup
    wg.Add(2)
    go func() {
        defer wg.Done()
        for i := 1; i < 100; i++ {
            fmt.Println("A:", i)
        }
    }()
    go func() {
        defer wg.Done()
        for i := 1; i < 100; i++ {
            fmt.Println("B:", i)
        }
    }()
    wg.Wait()
}

Run Code Online (Sandbox Code Playgroud)

在 delve 中,我们可以使用以下命令轻松地在 goroutine 之间切换

goroutine
goroutine <id>
goroutine <id> <command>
Run Code Online (Sandbox Code Playgroud)

如果我想在 goroutine 1 中逐步运行,只需使用命令

goroutine 1 next
Run Code Online (Sandbox Code Playgroud)

在vscode中,似乎处理goroutines的唯一方法是调用堆栈,但是,这似乎是go runtime的内部线程,而不是goroutines,那么如何将运行过程集中在指定的goroutine中呢?

go goroutine visual-studio-code delve

6
推荐指数
1
解决办法
1215
查看次数

在Mac OSX中为GO安装delve

我一直在尝试在我的环境中安装delve.但是,钻孔无法启动,我无法解决这个问题.

操作系统:OSX Yosemite 10.10.4

达尔文内核版本14.4.0

 $GOPATH/bin/dlv debug main.go
 could not launch process: could not fork/exec
Run Code Online (Sandbox Code Playgroud)

https://github.com/derekparker/delve/wiki/Building

我安装了以下上面提到的步骤URL.安装成功并且以root用户正确启动.除root用户外,Delve返回错误.

1)我已经创建了认证和签名申请

2)我在make命令之前杀死了taskgated,但它在make之后再次启动.

3)如果我重命名这些文件,则此命令会失败./System/Library/LaunchDaemons/com.apple.taskgated-helper.plist /System/Library/LaunchDaemons/com.apple.taskgated.plist

codesign -s "dlv-cert" /Users/murotanimari/work/bin/dlv
error: One or more parameters passed to a function were not valid.
Run Code Online (Sandbox Code Playgroud)

go delve

5
推荐指数
1
解决办法
2315
查看次数

使用Delve在VSCode上调试GO

我想在VSCode编辑器上调试GoLang.在他们的文档中,他们说这是可能的.我按照以下链接在IDE上安装调试功能. https://marketplace.visualstudio.com/items?itemName=lukehoban.Go

要安装Delve,他们要求遵循这些说明 https://github.com/derekparker/delve/blob/master/Documentation/installation/windows/install.md

安装完成后,他们要求运行以下代码

$ mingw32-make install

但是有一个错误

mingw32-make:***没有规则让目标'安装'.停止.

有人知道这有什么不对吗?除了这些说明之外还有什么变化吗?

debugging go visual-studio-code delve

5
推荐指数
1
解决办法
4029
查看次数

IntelliJ 2017.1.2 GOLANG 调试不适用于包中的断点

我的应用程序由一个 main.go 文件和一些包组成。当在 main.go 中命中断点时,IntelliJ 按预期工作,显示变量值等,但是,当在不同的包中设置断点时 - 除了被命中之外,不会显示任何变量,并且不会跳过/进入功能按预期工作(被击中时忽略)。有人遇到过这个问题吗?如果有,有解决方法吗?

intellij-idea go delve

5
推荐指数
0
解决办法
506
查看次数

无法在 Mac 上安装 Delve Go 调试器

我正在尝试观看以下有关 Go 调试入门的YouTube视频

它建议遵循官方 Delve github 存储库上的 Delve 安装说明。对于 Mac 用户,它们如下

确保工具链到位

xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Run Code Online (Sandbox Code Playgroud)

使用“go get”安装 Delve

go get -u github.com/go-delve/delve/cmd/dlv
Run Code Online (Sandbox Code Playgroud)

确保在 Xcode 中启用了开发者模式

sudo /usr/sbin/DevToolsSecurity -enable
Developer mode is already enabled.
Run Code Online (Sandbox Code Playgroud)

为了检查安装是否正确完成,我尝试在我的 Go 项目中直接运行以下命令:

dlv debug
zsh: command not found: dlv
Run Code Online (Sandbox Code Playgroud)

视频教程作者建议在~/.bash_profile无法识别命令的情况下更新文件中的GOPATH和PATH变量。我这样做是通过添加:

export GOPATH=/Users/<user_name>/go/src/
export PATH=$PATH:/Users/<user_name/go/src/my_project
Run Code Online (Sandbox Code Playgroud)

但是,即使这样做之后,我在尝试运行调试器时也会得到相同的结果:

dlv debug
zsh: command not found: dlv
Run Code Online (Sandbox Code Playgroud)

即使我将默认 zsh 的 shell 更改为 …

debugging bash go delve

5
推荐指数
2
解决办法
2026
查看次数

启动 VScode 时访问被拒绝 Go 代码在未调试和已调试的情况下运行

我正在尝试为 Go 设置一个新的 Windows 开发机器,这通常是一个非常简单的过程,但遇到了很多麻烦。当我尝试在不调试的情况下运行时,出现以下错误:

fork/exec C:\Users\CAMIWIL\AppData\Local\Temp\go-build588834862\b001\exe\hello.exe:访问被拒绝。进程退出,代码:1 信号:false

同样,当我尝试运行调试时,我得到:

无法启动进程:fork/exec c:\dev\hello__debug_bin: 访问被拒绝。进程退出代码:1

有趣的是在第二种情况下,如果我使用 git bash 在代码上手动运行 dlv,那么创建 __debug_bin 文件就没有问题,并且我可以调试到我想要的内容。同样,我也可以使用命令行构建代码。我还尝试安装 goland 只是为了看看它是否有任何问题,而且似乎也工作正常。我基本上按原样使用 VScode,此时我只将其与 go 扩展一起安装。

任何人都知道这可能是什么原因吗?决议可能是什么?

go visual-studio-code delve

5
推荐指数
1
解决办法
4067
查看次数