mac安装gdb调试工具的方法

查看是否已安装

$ gdb -v
GNU gdb (GDB) 8.2

表明已经安装,如果未安装则进行后续步骤

使用brew安装

搜索gdb

$ brew search gdb
==> Formulae
cgdb            gdb ✔           gdbm ✔          i386-elf-gdb    pgdbf
==> Casks
macgdbp

符合条件的gdb结果显示出来了

安装

$ brew install gdb
==> Downloading https://homebrew.bintray.com/bottles/gdb-8.2_1.high_sierra.bottl
######################################################################## 100.0%
==> Pouring gdb-8.2_1.high_sierra.bottle.tar.gz
==> Caveats
gdb requires special privileges to access Mach ports.
You will need to codesign the binary. For instructions, see:

  https://sourceware.org/gdb/wiki/BuildingOnDarwin

On 10.12 (Sierra) or later with SIP, you need to run this:

  echo "set startup-with-shell off" >> ~/.gdbinit
==> Summary
?  /usr/local/Cellar/gdb/8.2_1: 55 files, 10.3MB

不报错,则安装完成

使用gdb

编写简单c源码

$ vim hello.c
写入以下内容:
#include <stdio.h>
int main(){
    int a = 5;
    printf("hello world %d\n", a);
    return 0;
}

然后执行以下后续步骤:
$ gcc -g hello.c -o hello.o
$ gdb ./hello.o
(gdb) start  // 开始调试
(gdb) p a   // 输出a变量值
(gdb) q     退出调试

解决gdb启动调试时出现的问题

启动调试时,可能会出现如下:

(gdb) start
Temporary breakpoint 1 at 0x100000ef4
Starting program: /xxxx/hello.o
Unable to find Mach task port for process-id xxx: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

此时还不能正常使用gdb,主要还是mac的安全问题。

配置gdb相关证书(自己手动生成)

打开钥匙串访问

打开钥匙串访问

创建证书

创建证书

输入证书信息

一直点击继续,直到完成。

更改证书位置

默认创建的是登录证书,而我们需要的是系统证书。则在侧边栏选择登录,将gdb-cert选择,直接拖到系统菜单即可。

代码签名

执行已下命令:

codesign -s gdb-cert /usr/local/bin/gdb

转载于:https://my.oschina.net/who7708/blog/2985965

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值