Skip to content

Instantly share code, notes, and snippets.

@AdanJSuarez
Forked from gravitylow/codesign_gdb.md
Created February 19, 2020 14:42
Show Gist options
  • Select an option

  • Save AdanJSuarez/39e1d6daa070c5f3041958471fd72f91 to your computer and use it in GitHub Desktop.

Select an option

Save AdanJSuarez/39e1d6daa070c5f3041958471fd72f91 to your computer and use it in GitHub Desktop.

Revisions

  1. @gravitylow gravitylow revised this gist Sep 5, 2017. No changes.
  2. @gravitylow gravitylow revised this gist Sep 5, 2017. 1 changed file with 12 additions and 16 deletions.
    28 changes: 12 additions & 16 deletions codesign_gdb.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    If you are getting this in gdb on OSX while trying to run a program:
    If you are getting this in gdb on macOS while trying to run a program:

    ```bash
    Unable to find Mach task port for process-id 57573: (os/kern) failure (0x5).
    @@ -12,18 +12,14 @@ Unable to find Mach task port for process-id 57573: (os/kern) failure (0x5).
    + Certificate type: Code Signing
    + Check: let me override defaults
    4. Continue until "specify a location for..."
    5. Keychain = System
    6. Close. Find certificate in System keychains.
    7. _Get Info_
    8. Expand **Trust**, set **Code signing** to `always trust`
    9. `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. `codesign -fs gdbc /usr/local/bin/gdb` -- asks for root password
    12. Disable root account

    Done!
    5. Set Keychain location to System
    6. Create certificate and close Certificate Assistant.
    7. Find certificate in System keychain.
    8. Double click certificate
    9. Expand **Trust**, set **Code signing** to `always trust`
    10. Restart taskgated in terminal: `killall taskgated`
    11. Codesign gdb using your certificate: `codesign -fs gdbc /usr/local/bin/gdb`
    12. Shut down your mac and restart in recovery mode (hold down command-R until apple logo appears)
    13. Open terminal window
    14. Modify System Integrity Protection to allow debugging: `csrutil enable --without debug`
    15. Reboot your Mac. Debugging with gdb should now work as expected.
  3. @hlissner hlissner revised this gist Mar 31, 2016. 1 changed file with 10 additions and 11 deletions.
    21 changes: 10 additions & 11 deletions codesign_gdb.md
    Original file line number Diff line number Diff line change
    @@ -5,20 +5,19 @@ Unable to find Mach task port for process-id 57573: (os/kern) failure (0x5).
    (please check gdb is codesigned - see taskgated(8))
    ```

    1. Install gdb
    2. Open Keychain Access
    3. In menu, open **Keychain Access > Certificate Assistant > Create a certificate**
    4. Give it a name (e.g. `gdbc`)
    1. Open Keychain Access
    2. In 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
    5. Continue until "specify a location for..."
    6. Keychain = System
    7. Close. Find certificate in System keychains.
    8. _Get Info_
    9. Expand **Trust**, set **Code signing** to `always trust`
    10. `killall taskgated`
    11. Enable root account:
    4. Continue until "specify a location for..."
    5. Keychain = System
    6. Close. Find certificate in System keychains.
    7. _Get Info_
    8. Expand **Trust**, set **Code signing** to `always trust`
    9. `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. @hlissner hlissner revised this gist Mar 31, 2016. 1 changed file with 7 additions and 0 deletions.
    7 changes: 7 additions & 0 deletions codesign_gdb.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,10 @@
    If you are getting this in gdb on OSX while trying to run a program:

    ```bash
    Unable to find Mach task port for process-id 57573: (os/kern) failure (0x5).
    (please check gdb is codesigned - see taskgated(8))
    ```

    1. Install gdb
    2. Open Keychain Access
    3. In menu, open **Keychain Access > Certificate Assistant > Create a certificate**
  5. @hlissner hlissner created this gist Mar 31, 2016.
    23 changes: 23 additions & 0 deletions codesign_gdb.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,23 @@
    1. Install gdb
    2. Open Keychain Access
    3. In menu, open **Keychain Access > Certificate Assistant > Create a certificate**
    4. Give it a name (e.g. `gdbc`)
    + Identity type: Self Signed Root
    + Certificate type: Code Signing
    + Check: let me override defaults
    5. Continue until "specify a location for..."
    6. Keychain = System
    7. Close. Find certificate in System keychains.
    8. _Get Info_
    9. Expand **Trust**, set **Code signing** to `always trust`
    10. `killall taskgated`
    11. 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. `codesign -fs gdbc /usr/local/bin/gdb` -- asks for root password
    12. Disable root account

    Done!