gdb调试go

  1. 1 gdb调试go
  2. 2 例子

1 gdb调试go

golang这类静态型语言调试工具必不可少,gdb支持调试golang程序,GDB版本必须大于7.1,go build需要带上-gcflags "-N -l"参数,关闭内联优化。

配置GDB:

  • 打开gdb初始化配置文件:vim ~/.gdbinit
  • 添加配置: add-auto-load-safe-path /usr/local/go/src/runtime/runtime-gdb.py

如果不能加载,可在GDB中手动加载:
source /usr/local/go/src/runtime/runtime-gdb.py

如果gdb调试出现"Loading Go Runtime support",则表明gdb支持golang。

2 例子

package main

import "fmt"
func main(){
    c:=make(map[string]interface{})
    fmt.Println(c)
}

编译链接:

go build -gcflags "-N -l" t2.go   

gdb调试,-tui在运行时同时显示代码,以TUI模式运行GDB,或者在处于非TUI模式时在GDB中使用Ctrl+X+A组合键,切换至TUI模式,如果已经处于TUI模式,则Ctrl+X+A退出TUI模式:

gdb -tui t2
(gdb) b t2.go:6
(gdb) layout

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至yj.mapple@gmail.com

文章标题:gdb调试go

文章字数:231

本文作者:melonshell

发布时间:2019-10-20, 09:07:31

最后更新:2019-10-20, 10:58:02

原始链接:http://melonshell.github.io/2019/10/20/go6_gdb/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏

相册