在MacOSX系统上是默认没有安装gdb的,这给MacOSX应用开发人员调试OSX应用程序带来一定困难,因此在MacOSX上安装gdb对应用程序进行调试是一个很好的选择。但是在MacOSX上安装gdb并不想在linux上那么容易安装,他有一定的限制,首先得从GitHub上获取gdb并安装,然后还必须得给gdb进行制作证书,这样才能够正常使用gdb进行调试。
接下来对MacOSX上安装gdb以及给gdb制作证书的过程做一详细说明:
1. 需要用Homebrew 安装 gdb
(1)运行命令:brew tap homebrew/dupes
更新brew的homebrew命令, homebrew自身程序公式的服务器地址是托管于github的。
官方文档中提出brew tap 作用用于添加更多仓库,默认情况下tap 假设这些仓库来源于github,但又不局限于它。
不带参数的话,将会列出当前已经tapped 的仓库,比如:
brew tap==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
No changes to formulae.
caskroom/cask
homebrew/core
homebrew/dupes
neovim/neovim
总共列出了四个仓库,其中前面三个是默认自带的。
如果你要增加的仓库已经存在于homebrew/core 中了(名字一样),你必须显性的安装:
brew install vim # installs from homebrew/core
brew install username/repo/vim # installs from your custom repo
(2)再运行: brew install gdb
安装完成后的路径如图:
2. 给gdb制作证书并授权
如果没有证书,会出现如下提示:
(gdb) runStarting PRogram: /Users/admin/src/tmp/consoleTest/testUnable to find Mach task port for process-id 12520: (os/kern) failure (0x5). (please check gdb is codesigned - see taskgated(8))
如图:
制作证书过程如图:
(1)在Mac的Launchpad中找到钥匙串访问(一般在其他分组中)
(2)开始制作
(3)一路点击继续,需要输入管理员权限等进行操作
(点击【继续】)
(点击【继续】)
(电子邮箱可以不填,直接点击继续即可。(点击【继续】))
(点击【继续】)
(使用扩展选中框红的选项。)
(已扩展的密钥使用扩展 选项选中框红的。)
(※该步一定要注意,选择【系统】。)
(需要密码才可以修改系统钥匙串。)
至此,制作完毕,接下来对证书进行设置,打开 钥匙串访问->系统->我的证书,可以查看刚才自己制作的证书,然后选中刚才制作的证书,右键,显示简介,展开信任,如图:
将证书的使用时信任,选中为始终信任,如图:
设置完成后的效果,如下图:
※最后,用命令给gdb进行设置签名证书:
sudo codesign /opt/local/bin/ggdb -s gdb-cert
如果没有任何输出,则表示签名成功。至此,就可以正常使用GDB了。
如果用户还是无法使用GDB,还是出现这个问题的话,请先使用如下命令查看,是否签名是否成功:
codesign -v /opt/local/bin/ggdb
如果没有任何输出,则表示签名已经成功。
3. 安装成功,用gdb对应用程序进行调试。
效果如下图:
以上,就是在MaxOSX上安装GDB并给GDB制作证书的所有过程,至此,可以在MacOSX上对应用进行调试了^_^.
新闻热点
疑难解答