mac os 11.2.3安装gdb10.1

1、安装gdb

#brew install gdb

 

2、gdb调试程序回报错

Starting program: /usr/local/bin/fabnacci

Unable to find Mach task port for process-id 23330: (os/kern) failure (0x5).

 (please check gdb is codesigned - see taskgated(8))

2.1、创建证书

command+空格键,输入钥匙串访问。

菜单上点击钥匙串访问->证书助理->创建证书

填写如下信息

名称:gdb_codesign

身份类型:自签名根证书

证书类型:代码签名

勾选:让我覆盖这些默认设置

之后一直next,直到出现“指定证书位置”,选择系统,然后完成。

之后在左侧边栏上边选择“系统”,下边选择“我的证书”可以看到创建的证书,然后双击。展开“信任”这一项,选择“始终信任”。

关掉窗口,此时需要验证密码。

如果在最后一步选择了“系统”。

 

如果提示“未知错误=-2xxxxxxxx”

解决办法:先以登录的方式创建证书。然后在登录栏中找到,拖到桌面上,然后再拖回系统栏中(导入导出也可以,需要cer文件即可)

 

2.2、对gdb签名

创建gdb-entitlement.xml 授权文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

    <key>com.apple.security.cs.debugger</key>

    <true/>

</dict>

</plist>

执行命令

#codesign --entitlements gdb-entitlement.xml -fs gdb-cert /usr/loacl/bin/gdb

 

2.3、重新调试,提示错误

Because `startup-with-shell' is enabled, gdb has worked around this by

#set startup-with-shell off

启动生效解决办法:

关于.gdbinit,就是在你每次用gdb调整程序的时候,如果程序文件中有.gdbinit,就会自动读取里面的命令,全部执行一遍。

于是乎,我们只要用vim在程序文件里面创建一个.gdbinit,并在里面写上set startyup-with-shell off

 

2.4重新调试

#gdb <程序名称>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值