2019独角兽企业重金招聘Python工程师标准>>>
查看是否已安装
$ gdb -v
GNU gdb (GDB) 8.2
表明已经安装,如果未安装则进行后续步骤
使用brew安装
搜索gdb
$ brew search gdb
==> Formulae
cgdb gdb ✔ gdbm ✔ i386-elf-gdb pgdbf
==> Casks
macgdbp
符合条件的gdb
结果显示出来了
安装
$ brew install gdb
==> Downloading https://homebrew.bintray.com/bottles/gdb-8.2_1.high_sierra.bottl
######################################################################## 100.0%
==> Pouring gdb-8.2_1.high_sierra.bottle.tar.gz
==> Caveats
gdb requires special privileges to access Mach ports.
You will need to codesign the binary. For instructions, see:
https://sourceware.org/gdb/wiki/BuildingOnDarwin
On 10.12 (Sierra) or later with SIP, you need to run this:
echo "set startup-with-shell off" >> ~/.gdbinit
==> Summary
? /usr/local/Cellar/gdb/8.2_1: 55 files, 10.3MB
不报错,则安装完成
使用gdb
编写简单c源码
$ vim hello.c
写入以下内容:
#include
int main(){
int a = 5;
printf("hello world %d\n", a);
return 0;
}
然后执行以下后续步骤:
$ gcc -g hello.c -o hello.o
$ gdb ./hello.o
(gdb) start // 开始调试
(gdb) p a // 输出a变量值
(gdb) q 退出调试
解决gdb启动调试时出现的问题
启动调试时,可能会出现如下:
(gdb) start
Temporary breakpoint 1 at 0x100000ef4
Starting program: /xxxx/hello.o
Unable to find Mach task port for process-id xxx: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
此时还不能正常使用gdb,主要还是mac的安全问题。
配置gdb相关证书(自己手动生成)
打开钥匙串访问
创建证书
一直点击继续,直到完成。
更改证书位置
默认创建的是登录证书,而我们需要的是系统证书。则在侧边栏选择登录
,将gdb-cert
选择,直接拖到系统
菜单即可。
代码签名
执行已下命令:
codesign -s gdb-cert /usr/local/bin/gdb