Visual Studio точка останова: куда указывает стрелка при разрыве - PullRequest
1 голос
/ 15 января 2020

При разрыве в C ++ в Visual Studio 2017 появляется фигурная стрелка, указывающая на текущую точку выполнения.

Но когда вы проверяете какой-либо метод восходящего потока в стеке вызовов (т. Е. Дважды щелкните любой метод в стек вызовов), стрелка всегда указывает на следующую строку текущего выполняемого метода, например:

  FunctionBeingExecuted()
->//Next Line

Я принимаю это как соглашение, которое не имеет большого значения. Но сейчас я часто встречаю стрелки, указывающие на функцию, а не на следующую строку. Итак, на что должна указывать стрелка?

Начать с точки останова, вплоть до некоторого метода A в стеке вызовов, вьющаяся стрелка указывает на строку после выполняемого метода, но от этого метода A вверх, все вьющиеся стрелка указывает на выполненный метод.

Кстати, я обнаружил ошибку, похожую на явление в VS2019, пожалуйста, прочитайте комментарий:

void func0000() {
    int i = 0;//set breakpoint here
}

void TestMisc() {
    func0000();
    int i = 0;//arrow point to here even on the second break...
    i++;
    func0000();
}
...