簡體   English   中英

Eclipse 中 C++ 調試的 macOS 10.15 Catalina gdb 問題

[英]macOS 10.15 Catalina gdb problem for C++ Debugging in Eclipse

我正在使用 macOS 10.15.2 Catalina 並嘗試在 Eclipse 中調試 Hello World C++ 程序。 我已經通過從 Homebrew 安裝 gdb 調試器並按照以下鏈接中的步驟簽署證書來設置它。

https://www.thomasvitale.com/how-to-setup-gdb-and-eclipse-to-debug-c-files-on-macos-sierra/

調試器無法啟動。

我已經在 Eclipse 中設置了 gdb 設置,如下面的屏幕截圖所示。 Eclipse 中的 GDB 設置

當我調試項目時,出現錯誤: Configuring GDB Aborting configuring GDB (下面還提供了它的屏幕截圖)。

在此處輸入圖片說明

您使用的是哪個版本的 gdb 和 Eclipse?

我將嘗試提及我過去遇到的一些問題。

  1. 如果您使用 Homebrew 安裝了 gdb,請嘗試將“GDB 調試器”字段設置為實際路徑,例如/usr/local/Cellar/gdb/8.3/bin/gdb而不是鏈接/usr/local/bin/gdb

  2. 你的 . gdbinit文件位於? 在本教程中,它位於用戶主文件夾中,因此在 Eclipse 調試配置中,GDB 命令文件設置為~/.gdbinit 屏幕截圖中的值沒有指定絕對路徑,它可能在錯誤的位置尋找它。

  3. 您的 gdb 證書是系統鑰匙串(而不是登錄鑰匙串)的一部分嗎? 在簽署過程中,您是否將權利文件作為參數傳遞?

我遇到了類似的問題,我不得不執行兩個步驟來解決它。 我不確定它們是否都需要:

  1. 確保您的調試配置具有到 .gdbinit 的絕對路徑 您的用戶文件夾中需要有一個包含以下內容的 .gdbinit 文件:
set startup-with-shell off

我在 eclipse 中的調試配置指向這個文件,但是直到我將路徑更改為絕對路徑后它才讀取它。

  1. 使用本指南中的額外權利設置權限: https : //www.thomasvitale.com/how-to-setup-gdb-and-eclipse-to-debug-c-files-on-macos-sierra/

創建一個包含以下內容的 gdb-entitlement.xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>com.apple.security.cs.allow-jit</key>
        <true/>
        <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
        <true/>
        <key>com.apple.security.cs.allow-dyld-environment-variables</key>
        <true/>
        <key>com.apple.security.cs.disable-library-validation</key>
        <true/>
        <key>com.apple.security.cs.disable-executable-page-protection</key>
        <true/>
        <key>com.apple.security.cs.debugger</key>
        <true/>
        <key>com.apple.security.get-task-allow</key>
        <true/>
    </dict>
    </plist>

然后,打開終端提示符,轉到保存 xml 文件的目錄並運行:

codesign --entitlements gdb-entitlement.xml -fs gdb-cert $(which gdb)

其中“gdb-cert”是您之前為代碼簽名創建的證書。 完成這些步驟並在 Eclipse 上正確設置 GDB 路徑后,調試再次工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM