При разрыве в 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();
}