Visual studio неправильно отлаживает мою программу - PullRequest
0 голосов
/ 27 апреля 2020

Когда я пытаюсь запустить простую программу, чтобы проверить, правильно ли она компилируется и отлаживается, она компилируется, но в коде Visual Studio она не отлаживается правильно

Когда я прекращаю отладку при входе и пытаюсь go через шаги это не показывает переменные и выдал эту ошибку ...

Single stepping until exit from function main,
which has no line number information.
Single stepping until exit from function _fu0___ZSt4cout,
which has no line number information.
Hello

моя программа

#include <iostream>
#include <string>
#include <vector>

int main() {
    std::vector<std::string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
    for(std::string const& i : msg) {
        std::cout << i << std::endl;
    }
}

и мой запуск. json файл

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug",
            "type": "cppdbg",
            "request": "launch",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "gdb.exe",
            "program": "${workspaceFolder}/bin/main.exe",
            "preLaunchTask": "build"
        }
    ]
}

и мой make-файл ...

CC      := g++
CFLAGS  := -std=c++17 -Wall -Wextra -ggdb

BIN     := bin
SRC     := src
INCLUDE := include
LIB     := lib

LIBRARIES   :=

ifeq ($(OS),Windows_NT)
EXECUTABLE  := main.exe
SOURCEDIRS  := $(SRC)
INCLUDEDIRS := $(INCLUDE)
LIBDIRS     := $(LIB)
else
EXECUTABLE  := main
SOURCEDIRS  := $(shell find $(SRC) -type d)
INCLUDEDIRS := $(shell find $(INCLUDE) -type d)
LIBDIRS     := $(shell find $(LIB) -type d)
endif

CINCLUDES   := $(patsubst %,-I%, $(INCLUDEDIRS:%/=%))
CLIBS       := $(patsubst %,-L%, $(LIBDIRS:%/=%))

SOURCES     := $(wildcard $(patsubst %,%/*.cpp, $(SOURCEDIRS)))
OBJECTS     := $(SOURCES:.cpp=.o)

all: $(BIN)/$(EXECUTABLE)

.PHONY: clean
clean:
    -$(RM) $(BIN)/$(EXECUTABLE)
    -$(RM) $(OBJECTS)


run: all
    ./$(BIN)/$(EXECUTABLE)

$(BIN)/$(EXECUTABLE): $(OBJECTS)
    $(CC) $(CFLAGS) $(CINCLUDES) $(CLIBS) $^ -o $@ $(LIBRARIES)

Что может быть причиной такого поведения отладчика ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...