mac gdb debugging solutions for a variety of errors

On MacOSX lldb needs to be code signed. The Debug and Release builds
are set to code sign using a code signing certificate named
lldb_codesign.

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 Continue

  • 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.

  • Option-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.
  • 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

  • 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 and rebuild lldb and you should be able to debug.

That should do it.

Published 118 original articles · won praise 5 · views 10000 +

Guess you like

Origin blog.csdn.net/LU_ZHAO/article/details/104810374