mac 中使用 gdb,还是别了吧

2,099 阅读1分钟

报错 Unable to find Mach task port for process-id

参考1:blog.csdn.net/ULi_cloud/a… 参考2 :blog.csdn.net/lllkey/arti…

以上都解决不了我的 问题! Mac上LLDB才是王道。Xcode默认调试器是LLDB,说明了苹果不鸟GNU。也有人说,GDB是过去,LLDB是将来。虽然不一定正确,但也证明了LLDB也很强大。

1 使用/Applications/Utilities/Keychain Access.app创建证书

钥匙串访问->证书助理->创建证书

给证书随笔取一个名字,身份类型“自签名根证书”,证书类型“代码签名”,勾选“让我覆盖...”。

一路确定,到“指定用于该证书的位置”,选择“系统”【或“登录”,然后手动拖到“系统”】。创建,然后就成功了。

2设置改证书为“始终信任”

选择“系统”、“我的证书”,找到刚刚的证书,选择“始终信任”。

重启系统。gdb就可以正常调试其它应用程序了。

3 使用改证书对gdb签名

codesign -s [证书的名字] [gdb的完整路径名]

如:codesign -s zwhe_GDB_cert which gdb

4 重启服务或重启系统

sudo killall taskgated

以上都解决不了我的 问题! Mac上LLDB才是王道。Xcode默认调试器是LLDB,说明了苹果不鸟GNU。也有人说,GDB是过去,LLDB是将来。虽然不一定正确,但也证明了LLDB也很强大。


dfface 的版权声明:所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处,严禁商业用途!