Visual Studio «Step Into» не работает с. cpp - PullRequest
1 голос
/ 17 апреля 2020

У меня есть файлы Main.cpp, Tokenizer.hpp и Tokenizer.cpp. Я пытался отлаживать с помощью Visual Studio 2019 и пытался «шагнуть в» метод, который объявлен в Tokenizer.hpp и реализован в Tokenizer.cpp, но он не работал должным образом и просто перепрыгнул через метод, не заходя в Это. Я попытался переместить реализацию метода на Tokenizer.hpp, а затем он работал как положено и вошел в него при отладке.

Я использую только Visual Studio 2019 для отладки. Makefile, который я использую для компиляции, находится здесь:

CXX=cl
CXXFLAGS=/Zi
SRCS=Tokenizer.cpp
OBJS=$(SRCS:.cpp=.obj)

.PHONY: all
all: $(OBJS)
    $(CXX) $(CXXFLAGS) Main.cpp $(OBJS)

%.obj: %.cpp
    $(CXX) $(CXXFLAGS) -c $<

.PHONY: clean
clean:
    del *.obj

Три файла, которые я использую, находятся здесь:

// Main.cpp
#include "Tokenizer.hpp"
int main() {
    t.GetNextToken(); // Doesn't step into unless I move the
                      // implementation from Tokenizer.cpp to Tokenizer.hpp
}

// Tokenizer.hpp
class Tokenizer {
public:
    int GetNextToken();
};

// Tokenizer.cpp
#include "Tokenizer.hpp"
int Tokenizer::GetNextToken() { /*Do stuff*/ return 0;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...