macOS
1. 使用 homebrew 安装 gdb
如果你没有安装过 homebrew ,可以访问这里安装:
brew install gdb
安装完成之后,测试下安装是否成功:
gdb -v
可以看到应该是已经安装成功了的。
安装完成之后,如果你就直接使用 gdb 话,大概会看到如下的报错:
比如我就是想用 gdb 来调试 v8。
2. 给 gdb 签名
在使用 gdb 之前,需要我们给 gdb 签名,否则就会出现以上的错误。这时候就需要自己创建一个证书,用来给 gbd 签名用。
打开钥匙串访问这个应用
在电脑的左上角的工具栏中,选择钥匙串访问->证书助理->创建证书。
名称可以随意填,证书类型选择代码签名,以及勾选“让我覆盖这些默认值”选项。
接下来就是一直点击继续就可以了。
在最后一步的时候,选择系统。
在最后一步点击完成的时候,可能会报各种错误。
这种错误,查看其他的文章好像是说这里选择登录就可以了,但是我是又重新试了好几次,然后成功的。
信任证书
安装好证书之后,找到你自己刚刚创建的证书,然后修改如下:
签名
使用如下的命令给 gdb 签名:
注意这里 gdb 的路径需要使用绝对路径
codesign -fs gdb_cert /usr/local/Cellar/gdb/10.1/bin/gdb
开始调试
签名完成之后,重新运行下:
发现被卡住不动了,这个时候需要在控制台执行下:
echo "set startup-with-shell off" >> ~/.gdbinit
执行完成之后,使用 sudo 运行
可以发现能够正常运行 d8 了。
CentOS
yum install gdb