Mac OS X 10.10 下gdb的安装和签名

来源:互联网 发布:手机图标修改软件 编辑:程序博客网 时间:2024/05/18 17:04
[摘要:正在10.10下亲试的装置gdb战署名gdb以让它一般应用的步调供参考。 我的步调是: 1. 应用Homebrew装置gdb 2. 应用体系自带的codesign署名gdb 3. 考证gdb应用 应用Homebrew] 

在10.10下亲试的安装gdb和签名gdb以让它正常使用的步骤供参考。

我的步骤是: 
1. 使用Homebrew安装gdb 
2. 使用系统自带的codesign签名gdb 
3. 验证gdb使用

  1. 使用Homebrew安装gdb 
    首先安装Homebrew,参考网址http://brew.sh/ 
    操作步骤是在Terminal中执行 
    ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

    Homebrew安装完成后,在Terminal中执行 brew install gdb 安装gdb,安装后目录可以通过which gdb查看:/usr/local/bin/gdb

  2. 使用系统自带的codesign签名gdb 
    在10.10下,gdb不签名的话是无法访问其他程序的,此时如果gdb 你的程序时,会报如下错误: 
    *Unable to find Mach task port for process-id 83686: (os/kern) failure (0x5). 
    (please check gdb is codesigned - see taskgated(8))* 
    此时需要对gdb进行签名。

    首先:制作一个签名: 
    打开签名软件:Applications/Utilities/Keychain Access.app 在菜单栏选择: 
    Keychain Access > Certificate Assistant > Create Certificate…开始制作: 
    这里写图片描述
    然后一路点继续 在下面的页面选择system 
    这里写图片描述
    完成页面如 
    这里写图片描述
    记得一步:让证书always trust,右键生成的证书gdb-cert,然后get info 
    这里写图片描述

    ok,证书生成了。

    然后:开始签名: 
    先把keychain工具关闭退出(需要这一步),然后关闭taskgated进程

    ps?e|greptaskgated56822??0:03.11/usr/libexec/taskgated?s sudo kill -9 56822

    签名的命令为(如果是替换已签好的签名,则将-s 替换成 -fs)

    codesign -s gdb-cert $(which gdb)

    好了,签名成功,开始gdb了。

  3. 验证gdb使用 
    在生成aaa的程序的makefile中加入-g编译源文件,生成aaa 
    在生成的程序目录下执行:gdb ./aaa,然后就可以使用b p bt等gdb指令了。
0 0