这来自How to install gdb (debugger) in Mac OSX El Capitan?。
我在el capitan下工作的macport没有问题,并且安装了gdb端口,但是我无法使代码签名工作。这一切似乎都有效。证书在那里并且设置了“始终信任”。二进制文件显示:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim A(1) As Char
A(0) = " "
A(1) = ","
Dim B As String = RichTextBox1.Text
Dim x As String() = Nothing
Dim F As Array = {"SMUGGLING", "CROSSING", "INFILTRATION"}
x = B.Split(A)
For Each F In x
Label1.Text += F.Contains(x) & ControlChars.NewLine
Next
End Sub
但我得到
$ codesign -d -v -v /opt/local/bin/ggdb
Executable=/opt/local/bin/ggdb
Identifier=org.gnu.gdb
Format=Mach-O thin (x86_64)
CodeDirectory v=20100 size=25320 flags=0x0(none) hashes=1261+2 location=embedded
Signature size=1392
Authority=gdb-cert
Signed Time=23 Oct 2015, 07:56:53
Info.plist entries=4
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=88
当我尝试开始调试时。
有什么想法吗?
答案 0 :(得分:7)
我刚刚使用以下命令解决了这个问题。
sudo dseditgroup -o edit -a yourusername -t user procmod
将您添加到群组procmod
。
这只是因为只有procmod
中的用户才能使用task_for_pid
功能,您可以发现自己的/opt/local/bin/ggdb
组是procmod
。
答案 1 :(得分:1)
我在较旧的iMac(10.11.6 El Capitan)上安装了MacPorts gcc9
(gcc-9.2.0),最近需要安装gdb
端口(gdb-9.1.0);可预测地遇到相同的代码签名/权限问题。
github上有一系列对我来说非常有效的指令,只需将/usr/local/bin/gdb
替换为/opt/local/bin/ggdb
。由于github上的此类代码片段可能只是短暂的,因此我将其粘贴在此处:
gdbc
)
always trust
killall taskgated
codesign -fs gdbc /usr/local/bin/gdb
:要求输入root密码完成!