Skip to content

Instantly share code, notes, and snippets.

Last active October 27, 2023 12:48
Star You must be signed in to star a gist
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 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)


Copy link

drriguz commented Dec 18, 2019

this is didn't work for macosx 10.15.1, does any one have met this?

same problem, my eclipse-cdt hangs at 96% when debugging using gdb, even if I signed following this post

Copy link

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

Copy link

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

And it is much slower than lldb, It spent too much time during Reading symbols from xxx...

Copy link

mahduum commented Dec 31, 2019

What an annoyance! Well, it works from the administrator's account, but it does absolutely nothing elsewhere, I did everything from every level and it still won't go... Why Apply has to be so difficult!!!

Copy link

johnothwolo commented Jan 7, 2020

I won't be surprised if Apple completely disables the root account next.

Copy link

No error occurs during the signing. But it does not work. Gdb still requires to be code signed when debugging.

Copy link

Executed thoroughly in 10.15.5. Didn't work properly, unfortunately. Error message persists.

Copy link

hlissner commented Oct 25, 2020

In case anyone misses the giant text at the top of the gist:

Note: these instructions are for pre-Sierra MacOS. Sierra (10.12) and newer users see by @gravitylow

Though, admittedly, I don't even know if the linked guide works. I haven't been on macOS in nearly 8 years. Good luck!

Copy link

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.

Copy link

Love it thankyou man it worked.

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

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