linux下 visual studio code調試c++

vscode在linux下調試c++linux

第一步:須要在vscode擴展中信中下載c/c++的調試插件,如圖,搜索c++,第一個就是ios

下載好後重啓就能夠生效。c++

第二步:vs打開相應的目錄,個人測試代碼以下:json

其中out目錄是生成的文件和so動態庫測試

 

main.cppspa

 

#include "dlltest.h"插件

#include <iostream>調試

using namespace std;code

int main()blog

{

TestDll();

return 0;

}

dlltest.h:

 

#include <stdio.h>

void TestDll();

dlltest.cpp

 

#include <stdio.h>

void TestDll()

{

printf("testDll test\n");

}

 

makefile

DLLCPP=dlltest.cpp

DLLOBJ=dlltest.o

 

MAINCPP=main.cpp

MAINOBJ=main.o

 

LIBNAME=./out/libdlltest.so

 

MAINEXE=./out/main

 

$(MAINEXE):$(LIBNAME) $(MAINOBJ)

    g++ -g -Wall -o $(MAINEXE) $(MAINOBJ) -L./out -ldlltest -Wl,-rpath=./

$(MAINOBJ):$(MAINCPP)

    g++ -g -Wall -c $(MAINCPP)

 

$(LIBNAME):$(DLLOBJ)

    g++ -g -Wall -o $@ $(DLLOBJ) -fPIC -shared

$(DLLOBJ):$(DLLCPP)

    g++ -g -Wall -c $(DLLCPP)

clean:

    -rm $(DLLOBJ) $(MAINOBJ) $(MAINEXE)

 

第三步:

在調試菜單中打開gdb launch配置,若是沒有則添加

其中配置內容以下:

program:是調試程序所在的目錄 ${workspaceFolder}是當前打開的目錄路徑;

cwd:是運行的cd命令

program項修改成=> ${workspaceFolder}/out/main

cwd項修改成=>${workspaceFolder}/out

以下:

launch.json

{

// 使用 IntelliSense 瞭解相關屬性。

// 懸停以查看現有屬性的描述。

// 欲瞭解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387

"version": "0.2.0",

"configurations": [

{

"name": "(gdb) Launch",

"type": "cppdbg",

"request": "launch",

"program": "${workspaceFolder}/out/main",

"args": [],

"stopAtEntry": false,

"cwd": "${workspaceFolder}/out",

"environment": [],

"externalConsole": true,

"MIMode": "gdb",

"setupCommands": [

{

"description": "Enable pretty-printing for gdb",

"text": "-enable-pretty-printing",

"ignoreFailures": true

}

]

}

]

}

 

第四步:

點擊 查看=>終端,而後在終端中make一下生成相應的程序文件和so文件,最後按F5就能夠調試

 

主要要點:

1.cwd元素值必須設置到須要調試的進程文件目錄下

2.若是要調試so文件須要在makefile中加上-rpath路徑,以便進程能找到so,或者設置相應的環境變量

3.編譯選項必須加上-g,不然調試會有各類異常

相關文章
相關標籤/搜索