나는 root와 sudo를 제외하고는 실행되지 않을 것이고, 이것은 Eclipse와 함께 사용할 수 없다는 것을 의미한다. 이것은 문제를 디버깅하는 데 5 근무 시간을 낭비했다. 여기에 내 결과가있다.
첫째, gdb는 내 사용자 계정에서 실행될 때 비슷한 오류 메시지를 생성했습니다.
Unable to find Mach task port for process-id 4667: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
키 체인을 사용하여 인증서를 만든 다음 코드 서명을 위해 신뢰할 수있는 인증서로 표시하여 코드에 서명했습니다. 그런 다음 명령 줄에서 실행 파일에 적용합니다.
codesign -s gdb-cert /usr/local/Cellar/gdb/7.6.1/bin/gdb
codesign --verify --verbose /usr/local/Cellar/gdb/7.6.1/bin/gdb
codesign -d --verbose /usr/local/Cellar/gdb/7.6.1/bin/gdb
그게 작동하지 않았다.
내 사용자 계정을 procview, procmod 및 _developer 그룹에 추가하려고 시도했지만 (아마 안전하지는 않지만 코드를 github에 배포하고 개인용으로 사용하지 않아도 됨)
sudo dscl . append /Groups/procmod GroupMembership bryanhunt
sudo dscl . append /Groups/procview GroupMembership bryanhunt
sudo dscl . append /Groups/_developer GroupMembership bryanhunt
그게 작동하지 않았다.
마지막으로 실행 파일의 그룹과 끈적 끈적한 비트를 변경해 보았습니다.
sudo chgrp procmod /usr/local/Cellar/gdb/7.6.1/bin/gdb
sudo chmod g+s /usr/local/Cellar/gdb/7.6.1/bin/gdb
그게 효과가있어.