Отладка приложений C# в Visual Studio и MonoDevelop

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


Дата: 05.06.2012 г.

Рейтинг: 0

Метки: C#, Debug, Mono, monodevelop, visual studio, pi

Этот совет можно условно разделить на две части, первая часть будет о том как применять встроенные средства отладки, вторая - вопрос о том где это применять.

В .NET Framework и Mono есть такое замечательное пространство имен, как System.Diagnostics, в котором нас интересует класс Debug. Класс Debug имеет 4 интересующие нас метода вывода информации:

  • Debug.Write()
  • Debug.WriteIf()
  • Debug.WriteLine()
  • Debug.WriteLineIf()

Теперь перейдем к примеру и начнем пожалуй с картинки: Отладка приложений C# в Visual Studio и MonoDevelop

Как видим все просто, для того он и framework, теперь, что касается кода:using System;
using System.Diagnostics; //Добавляем пространство имен

namespace PiLife
{

    class MainClass
    {
        public static void Main (string[] args)
        {
            double Pi_viet = 2 / Viet (0, 1);
            Debug.WriteLineIf("(Viet) Pi {0}", Pi_viet); //Вызываем метод вывода в лог

            Console.ReadKey ();
        }

        static double Viet (double value, int step)
        {
            double local_value = 1;
            if (step < 100)
                local_value =  (Math.Sqrt (2 + value)/ 2) * Viet (Math.Sqrt (2 + value), step + 1);
            return local_value;
        }
    }
}

Применение: В этой части совета я просто хочу поделиться своим опытом, что бы у вас сложилось маломальское представление о том, как применять эту плюшку. Пример на картинке сделан для консольного приложения, но я чаще разрабатываю оконные приложения с помощью WPF, это так сказать предыстория.

Отлаживать в C# приложение с помощью MessageBox или подобного может быть и весело, но на 1-2 курсе института. Когда вы разрабатываете приложение которому планируется поддержка хотя бы в районе месяца и более, будь оно коммерческое или планируется его использовать в научных целях - все-же стоит разделать все приложении на логические части, что-то схожее с бизнес логикой в паттерне MVC, вот такой под частью советую вам сделать отладку, вывод в дебаг IDE позволит вам получить всю нужную информацию и при этом компиляция проекта для конечного пользователя не будет связанна с затратой времени на удаление всех MessageBox.Show().

С уважением, Сургай Владимир.




Похожие статьи: