Skip to content

Instantly share code, notes, and snippets.

@hlissner
Last active September 29, 2024 00:25
Show Gist options
  • Save hlissner/898b7dfc0a3b63824a70e15cd0180154 to your computer and use it in GitHub Desktop.
Save hlissner/898b7dfc0a3b63824a70e15cd0180154 to your computer and use it in GitHub Desktop.
Codesign gdb on OSX


Note: these instructions are for pre-Sierra MacOS. Sierra (10.12) and newer 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))
  1. Open Keychain Access
  2. In the menu, open Keychain Access > Certificate Assistant > Create a certificate
  3. Give it a name (e.g. gdbc)
    • Identity type: Self Signed Root
    • Certificate type: Code Signing
    • Check: let me override defaults
  4. Continue until it prompts you for: "specify a location for..."
  5. Set Keychain location to System
  6. Create a certificate and close assistant.
  7. Find the certificate in System keychains, right click it > get info (or just double click it)
  8. Expand Trust, set Code signing to always trust
  9. Restart taskgated in terminal: killall taskgated
  10. Enable root account:
    1. Open System Preferences
    2. Go to User & Groups > Unlock
    3. Login Options > "Join" (next to Network Account Server)
    4. Click "Open Directory Utility"
    5. Go up to Edit > Enable Root User
  11. Run codesign -fs gdbc /usr/local/bin/gdb in terminal: this asks for the root password
  12. Disable root account (see #10)

Done!

@hao-lh
Copy link

hao-lh commented Sep 8, 2022

I needed to run sudo killall taskgated rather than just killall taskgated, which reported No matching processes belonging to you were found.

Thanks for clarification. Using sudo helped for my machine.

@Uzair-90
Copy link

Love it thankyou man it worked.

@jamessu1201
Copy link

Sorry, I do the instruction that you told, but the problem still happen. when i type codesign -fs gdbc /usr/local/bin/gdb the response is /usr/local/bin/gdb: replacing existing signature over and over again, please help

@ford-jones
Copy link

@idevz @Infernion same with me, I must run with sudo on macosx 10.15.1

2024 - this is still the solution for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment