Mac OS X 使用gdb
来源:互联网 发布:linux ping 编辑:程序博客网 时间:2024/04/30 08:03
导语
GDB是UNIX及UNIX-like下的一款终端代码调试工具,虽说现在代码开发使用各种IDE,但是有些情况下,使用GDB还是非常给力的。在Linux、Unix下,GDB是系统自带的,使用起来很方便,但本人做为一名iOS开发人员,使用的是Mac系统,今天突然想在Mac上使用GDB,发现在OS X上要想使用GDB,却没有那么容易,出现一点点问题,查找GDB官方的解决方案之后,顺利解决问题,并记录在此。
1、GDB的安装
OS X安装GDB,我们可以直接使用HomeBrew或者Mac Ports来安装,很简单,关于HomeBrew或Mac Ports,百毒一下,你就知道。在此我就不多赘述。这里我就使用Mac Ports安装,在安装之前可以使用search命令来查找有没有GDB,代码如下:
sudo port search gdb
如下图所示,如我们所愿,确实找到了GDB,我们即可以使用以下命令安装GDB。
sudo port install gdb
Mac Ports的默认安装路径是/opt/local,所以GDB对应的命令路径是/opt/local/bin/ggdb,我们可以在~/.bash_profile下配置一下环境变量,把GDB所在的路径加入进去,配置如图所示:
配置成功之后使用如下命令使配置生效
source ~/.bash_profile
在配置中,我们还使用了alias命令,使用gdb做为ggdb的别名:
alias gdb='ggdb';
至此GDB的安装和配置已经完成。
2、GDB使用中的问题
GDB的使用同样可以在百度上找到详细的教程,在这里我主要说明一下Mac OS X下使用GDB碰到的问题。
当你兴高采烈安装并打算使用GDB的时候,你会发现在执行Run的时候,会出现如下提示:
这个问题是由于Mac OS X在使用gdb的时候必须要签名,而且我们安装的GDB是没有签名的,所以才会出现这个问题。
3、签名证书的建立
要解决这个问题,我们第一步就是要创建一个签名证书,怎么创建呢?在Mac OS X中有个『钥匙串』应用,选择『证书助理』-『创建证书』,创建一个签名证书,如图:
在这里,我们填入自己想要的名称,在这里我就使用gdb-cert,然后在『身份类型』中选择『自签名根证书』,在『证书类型』中选择『代码签名』,并勾选『让我覆盖这些默认值』。如图所示:
接下来,我们可以一直点击继续,直到最后一步,在『请指定钥匙串以便储存证书』选项中,一定要选择『系统』,不可选择『登陆』。然后点击创建证书,即可,如图:
点击完成之后,我们就成功创建证书了,并可以在『钥匙串』-『系统』-『我的证书』下看到我们创建的证书。
4、信任签名证书
证书创建之后,我们需要将证书设置为始终信任,在我们创建的签名证书上,点击右键,选择『显示简介』,展开『信任』节点,在『使用此证书时』选项下,选择『始终信任』,如图所示:
信任之后,可以在钥匙串中看到,证书图标下有个小+号,在信息中可以看到『此证书已标记为受所有用户信任』。至此,关于证书的部分就已经全部结束。
5、GDB签名
证书创建完成之后,我们使用如下命令,给GDB签名,
sudo codesign /opt/local/bin/ggdb -s gdb-cert
如果没有任何输出,则表示签名成功。至此,就可以正常使用GDB了。
6、结束
最后,如果用户还是无法使用GDB,还是出现这个问题的话,请先使用如下命令查看,是否签名是否成功:
codesign -v /opt/local/bin/ggdb
如果没有任何输出,则表示签名已经成功,请确认是否以下部分操作存在问题:
1、签名证书是否在『系统』结点下
2、签名证书是否已经标记为『始终信任』
如果还是不行的话,请重启taskgated,先使用ps命令查看该进程的PID,命令如下所示:
ps -e | grep task
然后使用kill -9 PID杀死该进程,若操作都已经成功的话,则可尝试修改GDB所在的用户组和权限,命令如下:
sudo chmod 755 gdbsudo chgrp admin gdb
至此,关于在Mac OS X上使用GDB遇到的签名问题就已经全部结束,可在Mac OS X上正常使用GDB。若依然无法使用,请尝试重启Mac,并确认以上操作是否正确。
- Mac OS X 使用gdb
- Mac OS X 安装gdb
- Mac(os x)下使用gdb的问题
- mac OS X 10.9.2 gdb codesign
- Mac OS X 10.10 安装 gdb
- Mac OS X 10.9 装gdb
- Mac OS X 10.10 装gdb
- mac OS X 10.9.2 gdb codesign
- Mac OS X使用技巧
- mac os x 使用汇总
- 开始使用Mac OS X
- Mac OS X 基本使用
- Mac OS X 使用技巧
- 开始使用Mac OS X
- Mac OS X 10.10 下gdb的安装和签名
- gdb调试 mac os
- MAC OS X Cocoa NSToolbar 的使用
- Mac OS X: ARD使用端口
- 点击隐藏div存在iframe无效
- 回首往事----那年的自己
- Sprite和ImageView区别
- 人脸检测 coords 到屏幕 coords
- apk文件反编译
- Mac OS X 使用gdb
- [leetcode] 190. Reverse Bits
- jsp获取当前最新浏览器
- 原型模式深入--使用序列化机制实现对象的深克隆
- ios常见错误日志
- 应用再签名
- Padding 与Margin
- Android Looper机制简介
- js刷新整个页面包括引入进来的jsp