Note: these instructions are for pre-Sierra MacOS. Sierra Users: see https://gist.github.com/gravitylow/fb595186ce6068537a6e9da6d8b5b96d by @gravitylow.
If you are getting this in gdb on OSX while trying to run a program:
Unable to find Mach task port for process-id 57573: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
- Open Keychain Access
- In the menu, open Keychain Access > Certificate Assistant > Create a certificate
- Give it a name (e.g.
gdbc
)- Identity type: Self Signed Root
- Certificate type: Code Signing
- Check: let me override defaults
- Continue until it prompts you for: "specify a location for..."
- Set Keychain location to System
- Create a certificate and close assistant.
- Find the certificate in System keychains, right click it > get info (or just double click it)
- Expand Trust, set Code signing to
always trust
- Restart taskgated in terminal:
sudo killall taskgated
- Run
sudo codesign -fs gdbc /usr/local/bin/gdb
in terminal
Done!