簡體   English   中英

無法在 Mac 上的 Visual Studio 代碼中調試 C++。 Launch.json 不在終端執行程序

[英]Cannot debug C++ in visual studio code on Mac. Launch.json does not execute program in terminal

我是 Visual Studio Code 的新手。 我正在嘗試調試一個簡單的 C++ 代碼。 我編輯了我的launch.json以便能夠像這樣調試應用程序:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(lldb) Launch", 
            "type": "cppdbg",  
            "request": "launch",      
            "program": "${workspaceFolder}/Calculator",   
            "args": [],   
            "stopAtEntry": false,  
            "cwd": "${workspaceFolder}",  
            "environment": [],  
            "externalConsole": true,  
            "MIMode": "lldb"            
        }        
    ]
}

當我開始調試時,終端在正確的文件夾中打開,但程序沒有執行。 因此,Visual Code 不會在我想在程序中檢查的斷點處停止。

在我的 task.json 我有以下代碼:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Echo vars",
            "command": "echo",
            "args": [
                "${env:USERNAME}",
                "workspaceFolder = ${workspaceFolder}"
            ],
            "type": "shell",
            "problemMatcher": []
        },
        {
            "label": "build",
            "type": "shell",
            "command": "g++ -g Calculator.cpp -o Calculator",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": "$gcc"
        }
    ]
}

有人可以幫我嗎?

提前致謝

如評論中所述:如果您的 Calculator.cpp 未使用調試符號編譯,即。 g++ 調用沒有 -g 標志,您將無法調試它。

因此,添加到您的launch.json一個prelaunchTask進入,這將確保始終執行其與調試符號編譯源您的構建任務之前,啟動調試器。

"environment": [],  
"externalConsole": true,  
"MIMode": "lldb",      
"preLaunchTask": "build"

編輯您的 launch.json 以將調試器日志輸出添加到您的項目中:

"logging": { "engineLogging": true, "trace": false, "traceResponse": false } 

暫無
暫無

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

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