68 lines
2.7 KiB
Plaintext
68 lines
2.7 KiB
Plaintext
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.
|