簡體   English   中英

如何在 MacOS 上將 gdb 設置為 C/C++ 擴展 pf VSCode 的調試器?

[英]How to set gdb as debugger for the C/C++ extension pf VSCode on MacOS?

Microsoft 的 C/C++ Extension for VSCode 允許設置launch.json文件,您可以使用該文件設置如何調試和運行 C++ 代碼。 默認情況下,它具有 lldb 作為 MacOS 的調試器。

我想知道如何將 gdb 設置為調試器而不是 lldb。

我試過了,它告訴我:

無法開始調試。 GDB 意外退出,退出代碼為 134 (0x86)。

這就是我的launch.json文件的樣子:

 { "version": "0.2.0", "configurations": [ { "name": "g++-9 - Build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "osx": { "miDebuggerPath": "/usr/local/bin/gdb", "MIMode": "gdb" }, "preLaunchTask": "C/C++: g++-9 build active file" } ] }

確保您已安裝gdb 為此,您可以使用:

brew install gdb

然后使gdb二進制被認證。 因為:

...現代達爾文內核限制了控制另一個進程的能力(這里是為了調試它),因為這種能力是惡意軟件的福音。 為了讓上述任務門授予對 gdb 的訪問權限,后者必須配備權利,其中包括 gdb 二進制文件中的數字簽名元數據。

來自: https://sourceware.org/gdb/wiki/PermissionsDarwin

要創建認證,請遵循以下說明: https://sourceware.org/gdb/wiki/PermissionsDarwin

完成后,按照此處的說明驗證二進制文件。

然后試試這個launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++ - Build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "preLaunchTask": "C/C++: g++ build active file"
        }
    ]
 }

暫無
暫無

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

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