首頁 > 軟體

M1 Macbook vscode C++ debug偵錯實現

2021-08-13 13:00:31

這裡給出自己摸索的最基本的偵錯方式,需要進階偵錯感覺還是需要一定的學習成本的,嘗試了幾個網上的部落格,暫時沒遇到直接可以執行的。所以這裡記錄一下大概方法。

主要是需要在目錄檔案下設定兩個 json 檔案(tasks.json,launch.json)

版本說明

VS code 版本是在官網直接下載的 M1 版本的 February 2021 (version 1.54)
官方下載

擴充套件

主要是要下載 codeLLDB 的下載,直接在 VS code 裡面搜尋下載就好了(可能需要從網上下載 VSIX,不過 VS code 會有提示)

組態檔

首先需要有一個檔案目錄 demo:

選中我們需要偵錯的檔案 test.cpp,然後按 F1,開啟設定選項,選擇 Tasks:Configure Default Build Task,根據需要選擇對應的編譯器,這裡選擇 clang++:

 

之後 VS code 會在同級目錄下自動生成一個名為 `tasks.json` 的檔案,正常這裡是如果沒有其他需求直接使用預設的即可,如果需要加入 std=c++11 還是 c++17 之類的,要在 `args` 的內容裡新增,這個可以額外學習一下 tasks.json 的設定教學,這裡就不贅述了。預設生成內容如下:

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: clang++ 生成活動檔案",
			"command": "/usr/bin/clang++",
			"args": [
				"-g",
				"${file}",
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "編譯器: /usr/bin/clang++"
		}
	]
}

然後 選擇左邊第三個偵錯選項,再選擇create a launch.json file

然後要選擇 LLDB 選項,這個才是我們下載的 codeLLDB 外掛,VS code 會自動建立一個 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": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "program": "${workspaceFolder}/<your program>",
            "args": [],
            "cwd": "${workspaceFolder}"
        }
    ]
}

這裡需要稍作修改,將 「program」 選項修改成與 tasks.json 的檔名一致,然後還需要加一個 preLaunchTask 的選項,將 tasks.json 的 label 名字貼上過來,修改以後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": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}",
            "args": [],
            "cwd": "${workspaceFolder}",
            "preLaunchTask": "C/C++: clang++ 生成活動檔案"
        }
    ]
}

執行偵錯

上述設定完成以後,編譯專案(shift+command+B),在程式碼中設定斷點,然後直接點選 F5,就可以正常斷點執行偵錯了。

到此這篇關於M1 Macbook vscode C++ debug偵錯的文章就介紹到這了,更多相關M1 vscode C++ 偵錯內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com