我有 MacOS Mojave 10.14。
GNU gdb (GDB) 8.2.1
我阅读了很多关于此的帖子,但我想知道 2019 年是否有什么变化,因为大多数文章都是旧的。
来自:Eclipse GDB MacOSX Mavericks
我做了:
启动 Keychain Access 应用程序 (/Applications/Utilities/Keychain Access.app)
打开菜单 /Keychain Access/Certificate Assistant/Create a Certificate (TOP MENU BAR)选择一个名称(示例中的 gdb-cert) 3.1 将“身份类型”设置为“自签名根” 3.2 将“证书类型”设置为“代码签名” 3.3 选中“让我覆盖默认值”标志 3.4 在“上单击几次”继续”,直到进入“指定证书位置”屏幕,然后将钥匙串设置为“系统” 3.6 确保“系统”(左上窗口)中有“gdb-cert”
在新制作的证书(gdb-cert)上按两次选择“获取信息”,
打开“信任”项,并设置“代码签名为始终信任”关闭钥匙串访问应用程序
重新启动“taskgated”应用程序(kill -9),最后
codesign -s gdb-cert /usr/local/bin/gdb
但我仍然收到错误:
lee@l7:~/eclipse-workspace-cdt/my-proj/build$ ./my-proj
Hello world
(exe 工作正常)
lee@l7:~/eclipse-workspace-cdt/my-proj/build$ gdb my-proj
GNU gdb (GDB) 8.2.1 版权所有 (C) 2018 Free Software Foundation, Inc. 许可证 GPLv3+:GNU GPL 版本 3 或更高版本http://gnu.org/licenses/gpl.html这是免费软件:你可以自由更改和重新分发它。在法律允许的范围内,不提供任何保证。输入“显示复制”和“显示保修”了解详细信息。这个 GDB 被配置为“x86_64-apple-darwin18.2.0”。键入“show configuration”以获取配置详细信息。有关错误报告的说明,请参阅:http : //www.gnu.org/software/gdb/bugs/。在线查找 GDB 手册和其他文档资源:http://www.gnu.org/software/gdb/documentation/。如需帮助,请键入“帮助”。键入“apropos word”以搜索与“word”相关的命令...从 my-proj 中读取符号...完成。
(gdb) 运行
启动程序:/Users/lefla/eclipse-workspace-cdt/my-proj/build/my-proj 无法找到进程 ID 12808 的 Mach 任务端口:(os/kern) 失败 (0x5)。(请检查 gdb 是否是协同设计的 - 请参阅 taskgated(8))
(gdb) 运行
启动程序:/Users/lefla/eclipse-workspace-cdt/my-proj/build/my-proj 无法找到进程 ID 12819 的 Mach 任务端口:(os/kern) 失败 (0x5)。(请检查 gdb 是否是协同设计的 - 请参阅 taskgated(8))
如果 gdb 已签名,它应该能够 fork 其他进程。杀死“taskgated”是否足够(一些文章提到重新启动机器)?问题是什么 ?
______编辑1
以下
https://sourceware.org/gdb/wiki/PermissionsDarwin
开车送我进一步。然后我遇到了这个问题:
gdb 以信号终止?,未知信号,
所以我创建了 .gdbinit,现在我得到:
(gdb) run
启动程序:/Users/lefla/eclipse-workspace-cdt/my-proj/build/my-proj
[New Thread 0x1a03 of process 14140]
[New Thread 0x2603 of process 14140]
在启动程序期间因信号 SIGTRAP 而终止, 跟踪/断点陷阱。
______ 编辑 2
使用 gdb 8.0.1 时,我得到:
my-proj”:不是可执行格式:无法识别文件格式
似乎与以下内容有关:
https : //sourceware.org/bugzilla/show_bug.cgi?
id =23746但 gdb 8.3 刚刚发布,它最终与 gdb 8.3 一起使用
gdb 协同设计将需要 10.14+ 中的适当权利:https ://sourceware.org/gdb/wiki/PermissionsDarwin
编辑:现在您可能正在复制此错误,这需要降级 gdb gdb-doesnt-work-on-macos-high-sierra-10-13-3 … 答案有说明。
编辑 2:看起来升级到 gdb 8.3 现在应该适合你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句