小编cod*_*deG的帖子

macOS Mojave:如何实现协同设置以启用调试(gdb)?

从10.5开始,围绕与macOS的协同设计问题有很多主题.我想要实现的是让Geany使用GNU Debugger(gdb).调试器在geany中找到,但(已经很熟知)错误消息是:

Error message from debugger back end:
Unable to find Mach task port for process-id 39847: (os/kern) failure (0x5).\n (please check gdb is codesigned - see taskgated(8))
Unable to find Mach task port for process-id 39847: (os/kern) failure (0x5).\n (please check gdb is codesigned - see taskgated(8))
Run Code Online (Sandbox Code Playgroud)

通常有很多限制需要考虑(应该)允许使用gdb,例如gdb 8.0.1可能有效,gdb 8.1根本不起作用 - 请参阅此处,也在Lazarus Wiki中确认.

0)我根据各种说明所涵盖的步骤创建了我的证书"gdb-cert".这里的例子

1)我遵循了对gdb可执行文件(源代码:gdbStackoverflow)进行协同处理的步骤,这在我的情况下是

/usr/local/Cellar/gdb/8.0.1/bin/gdb

(再次注意,某些语言有8.1的问题 - pascal也是如此).如果您想确保代码已签名,请转到

$ codesign -vvvv  gdb
Run Code Online (Sandbox Code Playgroud)

在相应的目录中.我的是.

2)确保证书实际分配为有资格进行代码签名 - 这是我的情况.它也是值得信赖的 - 这是必要的.

3)我还尝试了另一种方法来运行上面描述的gdb运行,​​其中文件已被编辑(请注意,首先必须在恢复中禁用SIP !!) 修改仅 …

debugging gdb geany macos-mojave

19
推荐指数
1
解决办法
7647
查看次数

标签 统计

debugging ×1

gdb ×1

geany ×1

macos-mojave ×1