zoukankan      html  css  js  c++  java
  • How to set up "lldb_codesign" certificate!

    To use the in-tree debug server on macOS, 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". This document explains how to set up the
    signing certificate.

    Note that it's possible to build and use lldb on macOS without setting up code
    signing by using the system's debug server. To configure lldb in this way with
    cmake, specify -DLLDB_CODESIGN_IDENTITY=''.

    If you have re-installed a new OS, please delete all old lldb_codesign items
    from your keychain. There will be 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 signing 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, scroll to the "Code Signing" trust
      pulldown menu and select "Always Trust" and authenticate as needed using your
      username and password.
    - Drag the new "lldb_codesign" code signing certificate (not the public or private
      keys of the same name) from the "login" keychain to the "System" keychain in the
      Keychains pane on the left hand side of the main Keychain Access window. This will
      move this certificate to the "System" keychain. You'll have to authorize a few
      more times, set it to be "Always trusted" when asked.
    - Remove "~/Desktop/lldb_codesign.cer" file on your desktop if there is one.
    - In the Keychain Access GUI, click and drag "lldb_codesign" in the "System" keychain
      onto the desktop. The drag will create a "~/Desktop/lldb_codesign.cer" file used in
      the next step.
    - 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

    - Drag the "lldb_codesign" certificate from the "System" keychain back into the
      "login" keychain
    - Quit Keychain Access
    - Reboot
    - Clean by removing all previously creating code signed binaries and rebuild
      lldb and you should be able to debug.

    When you build your LLDB for the first time, the Xcode GUI will prompt you for permission
    to use the "lldb_codesign" keychain. Be sure to click "Always Allow" on your first
    build. From here on out, the "lldb_codesign" will be trusted and you can build from the
    command line without having to authorize. Also the first time you debug using a LLDB that
    was built with this code signing certificate, you will need to authenticate once.

  • 相关阅读:
    .net core 在 Docker 上的部署
    js 运算的内置函数
    vux 项目的构建
    微信小程序开发资料
    HttpClient 调用WebAPI时,传参的三种方式
    jsplumb 中文教程
    MyEclipse最新版-版本更新说明及下载
    如何用VSCode调试Vue.js
    vs2017开发Node.js控制台程序
    Objc的底层并发API
  • 原文地址:https://www.cnblogs.com/open-coder/p/10871272.html
Copyright © 2011-2022 走看看