vscode安装插件进行gdb调试

50184cc5b783492598603daa0dad5f1f.webp

 

准备工作:

1、代码

main.cpp

#include <iostream>

using namespace std;
// 抽象产品类
class Product {
public:
    virtual void operation() = 0;
};

// 具体产品A
class ConcreteProductA : public Product {
    public:
    void operation() override {
        cout << "ConcreteProductA operation" << endl;
    }
};
// 具体产品B
class ConcreteProductB : public Product {
    public:
    void operation() override {
        cout << "ConcreteProductB operation" << endl;
    }
};

class SimpleFactory {
    public:

    // 根据传入的参数创建不同类型的产品对象
    static Product *createProduct(int type) {
        switch (type) {
            case 1:
                return new ConcreteProductA();
            case 2:
                return new ConcreteProductB();
            default:
                return nullptr;
        }
    }
};


int main()
{
    // 创建产品A
    Product *productA = SimpleFactory::createProduct(1);
    productA->operation();

    // 创建产品B
    Product *productB = SimpleFactory::createProduct(2);
    productB->operation();

    delete productA;
    delete productB;

    return 0;
}

Makefile:

CC = g++
CFLAGS = -g -O0

all: main

main: main.cpp
	$(CC) $(CFLAGS) -o $@ $<

clean:
	rm -f main

2、安装vscode插件

Extensions for Visual Studio family of products | Visual Studio Marketplace

0e4af2505db5449ca6104a01d2b47260.png

e794bafcb8b4497ea6d87f13dcf6cf37.png

 

3、配置gdb调试环境相关信息

d01be3c2201c4c2c83f8a7d1f056ee22.png

launch.json

{
    // 使用 IntelliSense 了解相关属性。
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "cppdbg",
            "request": "launch",
            "name": "GDB",
            "program": "${workspaceFolder}/simpleFactory/main",
            "stopAtEntry": true,
            "args": [], // 程序参数
            "cwd": "${workspaceFolder}",
            "MIMode": "gdb",
            "setupCommands": [
                {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
                }
            ],
        }
    ]
}

make编译后启动程序

8b5261b394e641c0b78d6e433f1adae1.png

结果如下

ee3444a1a49e433fa951db8d0058db10.png

 

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值