mac系统安装GDB遇到的问题

项目场景:

提示:这里简述项目相关背景:
mac系统安装GDB
—我遇到的问题

问题描述

提示:这里描述项目中遇到的问题:

已经显示GDB安装成功,但是在调试的过程中出现以下错误提示:

Unable to find Mach task port for process-id 1348: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

原因分析:

提示:这里填写问题的分析:

这是mac系统的一种保护设置,Darwin kernel出于安全考虑,在没有特殊授权的情况下不允许gdb调试任何程序。要解决这个问题需要给gdb授予系统完全信任的代码签名权利。实现这个过程的步骤已经非常多教程了。

我现在的问题是,已经完成了安装、也进行了签名,但是在调试的过程中依然出现上面的错误提示。经过资料查询。分析造成该错误的原因有:
(1)签名不成功
(2)签名未生效;
(3)虽然已经授权,但是权限不够:


针对以上问题的解决方案:

提示:这里填写该问题的具体解决方案:

问题(1):重新签名;
问题(2):签名后需要重启程序使得签名生效;
命令:sudo killall taskgated 。
如果重启程序仍然无效,就需要重启计算机
命令:sudo reboot;
问题(3):把源代码:gdb test,换成:sudo gdb test。

查看gdb的绝对路径

$ which gdb
/usr/local/bin/gdb

对gdb进行签名证书授权命令:

codesign -fs gdb-cert which gdb

对gdb进行签名证书取消授权命令:

codesign – remove- signature /usr/local/bin/gdb

设置gdb启动选项命令

set startup-with-shell off

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值