美文网首页
Mac环境配置gdb,调试golang程序

Mac环境配置gdb,调试golang程序

作者: 随水而生_cb06 | 来源:发表于2019-08-29 16:48 被阅读0次

GDB:The GNU Project Debugger

GDB是GNU中的项目调试工具,主要运用在UNIX及UNIX-like环境。

功能:可以调试、定位问题到代码行

备注:由于macOS系统本身和UNIX系统有区别,且本质上并不支持gdb,故安装过程会遇到各种问题


1、如何安装:

1)我直接brew install gdb会失败,错误信息忘记保存了

2)选用下载安装包方式

下载链接:ftp://sourceware.org/pub/gdb/releases/

选择其中一个版本下载

3)下载后,解压,并进入下载目录

配置:./configure

编译:make -j4

安装:make install

4)安装成功,执行gdb -v,可以看到gdb版本

 gdb -v

GNU gdb (GDB) 8.3

Copyright (C) 2019 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.


2、安装证书

1)在application里找到钥匙串访问:

2)选择钥匙串访问-》证书助理-》创建证书

3)按如下操作:证书名为:gdb_codesign

4)一直继续直到完成,完成后,会看到证书,选中右键,选择显示简介:

点开其中的信任:

设置下面两个选项

使用此证书:选择使用系统默认

代码签名:选择始终信任

5)打开终端,验证证书

需要重启系统,然后在终端执行:codesign -s  gdb_codesign $(which gdb)

问题:如果证书设置错误,但是又已经验证了,使用过程有问题怎么办?

可以重新编译安装gdb,重新去gdb的安装目录执行 编译:make -j4   安装:make install

然后再重新验证证书即可


3、gdb调试

1)mac中使用gdb需要root权限,所以需要sudo gdb 可执行文件,但是每次都得输入密码

可以设置mac中使用root不输入密码:

Mac/Ubuntu/Linux 配置sudo免密码:

a.打开命令窗口输入如下命令:

1sudo visudo 或者 sudo vi /etc/sudoers

b.注释 #%admin ALL=(ALL) ALL ,改为 %admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL

2)开始调试 sudo gdb  可执行文件

打断点方式:

代码行:b service-customer-list/services/rules/do.go:776

函数:b service-customer-list/services/rules/do.go:函数名

打断点后可以按c让程序运行起来,直到遇到第一个断点

调试节奏:

单步调试:运行到下一行,用next或n

断点调试:运行到下个断点用 continue或c

直接运行完,则用run或r

在断点处:

如果要查看当前代码:则可以用list

查看当前局部变量:info locals

打印某个变量:print 变量名

3)使用过程中问题

如果开启gdb,用ctrl+z退出后其实进程还在,需要杀死,否则重新gdb run的时候会失败

杀死所有名称为gdb的进程命令:kill -9 $(ps -ef|grep gdb |awk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')

相关文章

  • 【实践】gdb调试golang程序入门及gdb命令列表

    1. 摘要 本文讲解gdb调试GOLANG程序的入门配置,以及gdb命令详解备忘。 2. gdb调试go程序入门...

  • Mac环境配置gdb,调试golang程序

    GDB:The GNU Project Debugger GDB是GNU中的项目调试工具,主要运用在UNIX及UN...

  • delve:Golang的最佳调试工具

    推荐使用Golang原生调试器delve,gdb不能切换goroutine。 推荐文章Golang程序调试工具介绍...

  • GDB调试环境配置

    GDB调试环境配置 GDB安装 在调试的时候,会提示如下信息 首先需要修改CentOS-Debuginfo.rep...

  • gdb调试运行时go程序

    golang官方是不推荐使用该方式调试golang程序的,因为gdb无法准确的诊断golang运行时的数据结构和表...

  • Spectrum链开发 -- Mac开发环境搭建

    本文介绍在Mac OS X环境下如何搭建Spectrum开发环境。 环境配置 安装golang 配置golang环...

  • Mac使用vscode调试c/c++

    mac上在vsCode上进行c/c++程序的调试 目的在mac上使用vscode 和 lldg/gdb调试工具 对...

  • GDB 配置

    摘要:调试器 GDB 的配置 GDB 配置 使用 GDB 扩展来配置 GDB 事实上我还是觉得原生的 GDB 就...

  • GDB调试

    使用GDB调试配置环境参数: Attach进程: Debug GDB常用方法(1)常用的命令,以拍照为例拍照函数在...

  • mac 安装gdb调试的方法

    因为mac下并没有自带的gdb调试工具。所在需要自己手动安装,在进行gdb安装前应首先配置好homebrew安装管...

网友评论

      本文标题:Mac环境配置gdb,调试golang程序

      本文链接:https://www.haomeiwen.com/subject/sugiectx.html