Анализ значений, возвращаемых из вызовов методов
В окне Видимые можно проверить возвращаемые значения методов .NET Framework и C++ при выполнении шага с обходом вызова метода или шага с выходом из метода. Эта функция может быть полезна в ситуации, когда результат вызова метода не сохраняется в локальной переменной (как, например, в случае, когда метод используется в качестве параметра или возвращаемого значения другого метода).
Описание
Просмотр возвращаемых значений метода в окне "Видимые"
Просмотр возвращаемых значений методов .NET Framework в окнах "Интерпретация" и "Контрольные значения"
Просмотр возвращаемых значений метода в окне "Видимые"
Создайте консольное приложение C# или C++.
Замените метод Main (C#) или метод _tmain (C++) следующим кодом.
//static void Main(string[] args) { Method1(); // 1. Set a breakpoint here // 2. Then step into Method1 int y = Method2(); // 3. Set a breakpoint here // 4. Then step into Method2 static void Method1(){ // 1. Step over the following line int result = Multiply(FourTimes(Five()), Six()); // 2. Then view the return values in the Autos window } static int Method2(){ // 1. Step over the following line return Five(); // 2. Then view the return values in the Autos window } static int Multiply(int x, int y){ return x * y; } static int FourTimes(int x){ return 4 * x; } static int Five(){ return 5; } static int Six(){ return 6; }
void Method1(); int Method2(); int Multiply(int x, int y); int FourTimes(int x); int Five(); int Six(); int _tmain(int argc, _TCHAR* argv[]) { Method1(); // 1. Set a breakpoint here // 2. Then step into Method1 int x = Method2(); // 3. Set a breakpoint here // 4. Then step into Method2 } void Method1(){ // 1. Step over the following line int result = Multiply(FourTimes(Five()), Six()); // 2. Then view the return values in the Autos window } int Method2(){ // 1. Step over the following line return Five(); // 2. Then view the return values in the Autos window } int Multiply(int x, int y){ return x * y; } int FourTimes(int x){ return 4 * x; } int Five(){ return Six(); } int Six(){ return 6; }
Установите точки останова на вызовах методов Method1 и Method2 в основном методе.
В меню Отладка выберите Начать отладку (клавиатура: F5), чтобы начать отладку и прервать выполнение на вызове метода Method1.
Выберите Отладка, Шаг с заходом (клавиатура: F10), чтобы войти в метод Method1.
Выберите Отладка, Шаг с обходом (клавиатура: F11), чтобы перейти первую строку кода метода Method1.
Обратите внимание, что в окне Видимые отображаются возвращаемые значения методов Multiply, FourTimes, Five и Six со значком возвращаемого значения. (Чтобы открыть окно Видимые, выберите Отладка, Окна, Видимые или нажмите клавиши CTRL + ALT + V, A)
Выберите Отладка, Продолжить (клавиатура: F5), чтобы продолжить выполнение до вызова метода Method2.
Выполните шаг с заходом в метод Method2.
Выполните шаг с обходом оператора Return.
Обратите внимание, что в окне Видимые отображается возвращаемое значение метода Five (значение, непосредственно возвращенное методом Method2).
Просмотр возвращаемых значений методов .NET Framework в окнах "Интерпретация" и "Контрольные значения"
Возвращаемое значение вызова метода .NET Framework можно также просмотреть, введя $ReturnValue в окне Интерпретация или в окне контрольных значений, после того как выполнен шаг с обходом вызова метода или шаг с выходом из метода. Чтобы открыть окно Интерпретация, выберите Отладка, Окна, Интерпретация (клавиатура: CTRL + ALT + I).