| On MacOSX lldb needs to be code signed. The Debug, DebugClang and Release |
| builds are set to code sign using a code signing certificate named |
| lldb_codesign. |
| |
| If you have re-installed a new OS, please delete all old lldb_codesign items |
| from your keychain. There will be 3: a code signing certification and a public |
| and private key. Reboot after deleting them. You will also need to delete and |
| build folders that contained old signed items. The darwin kernel will cache |
| code sigining using the executable's file system node, so you will need to |
| delete the file so the kernel clears its cache. |
| |
| If you don't have one yet you will need to: |
| - Launch /Applications/Utilities/Keychain Access.app |
| |
| - In Keychain Access select the "login" keychain in the "Keychains" |
| list in the upper left hand corner of the window. |
| |
| - Select the following menu item: |
| |
| Keychain Access->Certificate Assistant->Create a Certificate... |
| |
| - Set the following settings |
| |
| Name = lldb_codesign |
| Identity Type = Self Signed Root |
| Certificate Type = Code Signing |
| |
| - Click Create |
| - Click Continue |
| - Click Done |
| - Click on the "My Certificates" |
| - Double click on your new lldb_codesign certificate |
| - Turn down the "Trust" disclosure triangle |
| |
| Change: |
| When using this certificate: Always Trust |
| |
| - Enter your login password to confirm and make it trusted |
| |
| The next steps are necessary on SnowLeopard, but are probably because of a bug |
| how Keychain Access makes certificates. |
| [Note: These also apply for Lion and Mountain Lion.] |
| |
| - Drag the new lldb_codesign certificate from the login keychain to |
| the System keychain in the Keychains pane of the main Keychain Access window |
| to make a copy of this certificate in the System keychain. You'll have to |
| authorize a few more times, set it to be "Always trusted" when asked. |
| - Make sure there is no "~/Desktop/lldb_codesign.cer" file on your desktop, |
| if there is one, delete it first, otherwise when you drag a copy of the |
| lldb_codesign certificate to your desktop it will get renamed as |
| "lldb_codesign_1.cer" and the security command you run below will trust the |
| old incorrect certificate. |
| - Switch to the System keychain, and drag the copy of lldb_codesign you just |
| made there onto the desktop. |
| - Switch to Terminal, and run the following: |
| |
| sudo security add-trust -d -r trustRoot -p basic -p codeSign -k /Library/Keychains/System.keychain ~/Desktop/lldb_codesign.cer |
| rm -f ~/Desktop/lldb_codesign.cer |
| |
| - Right click on the "lldb_codesign" certificate in the "System" keychain (NOT |
| "login", but the one in "System"), and select "Delete" to delete it from |
| the "System" keychain. |
| - Reboot |
| - Clean by removing all previously creating code signed binaries and rebuild |
| lldb and you should be able to debug. |
| |
| That should do it. |