vscode中的除錯與編譯
阿新 • • 發佈:2018-10-31
- 除錯
- 如果要啟動除錯, 需要設定啟動配置檔案–launch.json。選擇除錯環境, vscode將在.vscode目錄下生成一個launch.json的配置檔案。如下圖所示:
2.編輯launch.json檔案
- 如果要啟動除錯, 需要設定啟動配置檔案–launch.json。選擇除錯環境, vscode將在.vscode目錄下生成一個launch.json的配置檔案。如下圖所示:
{
//${workspaceRoot} the path of the folder opened in VS Code(VSCode中開啟資料夾的路徑)
//${workspaceRootFolderName} (VSCode中開啟資料夾的路徑, 但不包含"/")
//${file} the current opened file(當前開啟的檔案)
//${relativeFile} (當前開啟的檔案,相對於workspaceRoot)
//${fileBasename} (當前開啟檔案的檔名, 不含副檔名)
//${fileDirname} (當前開啟檔案的目錄名)
//${fileExtname} (當前開啟檔案的副檔名)
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",// 配置名稱,將會在啟動配置的下拉選單中顯示
"type": "cppdbg",// 配置型別,這裡只能為cppdbg
"request": "launch",// 請求配置型別,可以為launch(啟動)或attach(附加)
"program": "${workspaceFolder}/detect/test/detect_demo",// 將要進行除錯的程式的路徑
"args": ["--rgb_video","/data/data/videos/car1_20170525.mp4"],// 程式除錯時傳遞給程式的命令列引數
"stopAtEntry": false,// 設為true時程式將暫停在程式入口處,一般設定為false
"cwd" : "${workspaceRoot}/detect/test",// 可執行程式的啟動路徑
"environment": [],
"externalConsole": true,// 除錯時是否顯示控制檯視窗,一般設定為true顯示控制檯
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
3.若出現問題:Unable to start debugging. Failed to initialize debugger terminal.
在launch.json中新增如下配置
"pipeTransport": {
"pipeCwd": "/usr/bin",
"pipeProgram": "/bin/sh",
"debuggerPath": "/usr/bin/gdb",
"pipeArgs": [
"-c"
]
},
- 除錯中加編譯
1.生成task.json
輸入ctrl+p
命令,輸入>tasks:configure
,如下圖所示
生成的tasks.json如下圖所示
{
"version": "2.0.0",
"tasks": [
{
"label": "echo",
"type": "shell",
"command": "echo Hello"
}
]
}
2.在launch.json的“cwd”後新增"preLaunchTask": "Make detect demo",
其中Make detect demo需要與tasks.json中的label一致。
{
"version": "2.0.0",
"tasks": [
{
"label": "Make detect demo",//與launch.json的檔案中的preLaunchTask保持一致
"type": "shell",
"command": "make -j8",
//"command": "./build.sh",//此處也可將所要執行的命令寫在shell腳本里支執行
"options": {
"cwd": "build"//進入到build資料夾
},
"args": [
], // 程式除錯時傳遞給程式的命令列引數
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
3.按F5鍵開始除錯,會自動編譯最新的檔案