Подтвердить что ты не робот

Возвращаемое значение отладки

Я помню, что я видел возвращаемое значение метода, когда я отлаживать код С++ в Visual Studio 6.0. Теперь я пропускаю эту функцию в С# в Visual Studio 2010.
Где я могу увидеть возвращаемое значение или есть причина не показывать его?

Edit1: Пример:

string GetFullName()
{
  return GetFirstName() + " " + GetLastName();
}

Когда я ступаю (отладчик) из строки, начиная с возврата к следующей строке, я хотел бы видеть полное имя в окне переменной отладки.

4b9b3361

Ответ 1

Это было добавлено в Visual Studio 2013:

Возвращаемое значение отображается в "Autos Windows" (Debug- > Windows- > Autos), и вы также можете использовать псевдо-переменную "$ ReturnValue" в окне "Часы" и/или "Немедленное" для получения последнего Возвращает значение функции.

http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/27/seeing-function-return-values-in-the-debugger-in-visual-studio-2013.aspx

Ответ 3

Вы можете установить точку останова в строке оператора return с помощью метода. Затем щелкните правой кнопкой мыши точку останова и выберите "When Hit...". Здесь вы можете выбрать отображение сообщения или запуск макроса. Для этого мы напечатаем сообщение, которое будет отображаться в окне вывода. Например, если у вас есть следующий код:

public double ReturnValue()
{
    var x = 3;
    var y = 4;
    //x and y can of course be non-constant vars too
    return Calculate(x, y);
}

public static double Calculate(int x, int y)
{
    return x * x + y * y;
}

Если вы установите точку останова на строке "return Calculate (x, y);", щелкните ее правой кнопкой мыши и выберите "When Hit..." и выберите это как сообщение:

Значение: {Calculate (x, y)}

В этом случае окно вывода отобразит:

Значение: 25.0

Надеюсь, это поможет!

Update:

Это также работает для вашего примера с именами, методами:

public string GetFirst()
{
    return "Bill";
}

public string GetLast()
{
    return "Gates";
}

public string GetFull()
{
    return GetFirst() + " " + GetLast();
}

Поместите точку останова в оператор return в методе GetFull() и сделайте то же самое, что и раньше. Тело сообщения теперь выглядит так:

Полное имя: {GetFirst() + "" + GetLast()}

И окно вывода отобразит:

Полное имя: "Билл Гейтс"

Ответ 4

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

Могу ли я узнать возвращаемое значение перед возвратом во время отладки в Visual Studio

Вы можете сохранить результат в строковой переменной, чтобы он отображался в окне отладки.

enter image description here

class Program
    {
        static void Main(string[] args)
        {
            Program p = new Program();
            Console.WriteLine(p.GetFullName());
            Console.ReadLine();   
        }

        string GetFullName()
        {
            string result =GetFirstName() + " " + GetLastName();
            return result;
        }

        string GetFirstName()
        {
            string firstname = "vishwanath";
            return firstname;
        }

        string GetLastName()
        {
            string lastname = "Dalvi";
            return lastname;
        }
    }