未定义的信息命令:“goroutines”

时间:2014-11-07 08:59:35

标签: go gdb

我是golang的新手。我正在调试我的go应用程序。

当我试图运行" info goroutines"时,它抛弃了:

Undefined info command: "goroutines".  
Try "help info

我在gdb配置中错过了什么?

2 个答案:

答案 0 :(得分:2)

文章“Debugging Go Code with GDB”确实提到:

(gdb) info goroutines

但仅限于为给定二进制文件加载扩展脚本的上下文中。

  

工具链使用它来扩展GDB,使用一些命令来检查运行时代码的内部(例如goroutines),并且可以打印内置的地图,切片和通道类型。

     

如果您想查看其工作原理或想要扩展它,请查看Go源代码分发中的src/pkg/runtime/runtime-gdb.py
  它取决于一些特殊的魔术类型(hash<T,U>)和变量(runtime.mruntime.g),链接器(src/cmd/ld/dwarf.c)确保在DWARF代码中描述。

     

如果您对调试信息的内容感兴趣,请运行“objdump -W 6.out”并浏览.debug_ *部分。

因此,请确保在激活这些扩展程序的情况下运行调试会话。

答案 1 :(得分:0)

在 gdb 会话中运行

source $GOROOT/src/runtime/runtime-gdb.py

$GOROOT 所在的位置(参见 go env | grep ROOT

您应该按照 golang 文档的建议使用 https://github.com/go-delve/delve https://golang.org/doc/gdb