Codesign
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: killall taskgated
- Enable root account:
- Open System Preferences
- Go to User & Groups > Unlock
- Login Options > “Join” (next to Network Account Server)
- Click “Open Directory Utility”
- Go up to Edit > Enable Root User
- Run codesign -fs gdbc /usr/local/bin/gdb in terminal: this asks for the root password
- Disable root account (see #10)
Reference
https://gist.github.com/hlissner/898b7dfc0a3b63824a70e15cd0180154
https://stackoverflow.com/questions/52529838/gdb-8-2-cant-recognized-executable-file-on-macos-mojave-10-14 (Solution for more problem regarding GDB on Mojave)