суббота, 2 февраля 2013 г.

консоль отладки в 1с

Во-первых, нам нужно инизиализировать саму консоль. Для этого опишем небольший статический класс ConsoleManager, в который импортнем AllocConsole из kernel32.dll. Также добавим метод, который будет инициализировать консоль, устанавливать ее вывод и чистить ее перед стартом приложения:

Сегодня я вам покажу на примере ASP.Net MVC приложения, как можно использовать консоль при отладке и логгировании. Итак, приступим.

Даже на быстрых машинах консоль удобна при отладке длинных итеративных или рекурсивных вычислений ЂЂЂ она выдает информацию намного быстрее обычного отладчика, сразу всю, вместе с промежуточными результатами, достаточно только вписать в интересующих вас местах Console.WriteLine, printf, system.out.println или аналог на языке, на котором вы пишете свои приложения. Консоль ЂЂЂ это тот же лог, но для его просмотра не надо лезть в файлы, она у вас на экране и вы можете видеть сразу все, что вас интересует. В конце-концов, я думаю, что многие из разработчиков использовали ее хоть раз в жизни для отладки.

У меня за спиной несколько лет занятий олимпиадами по программированию, которые сопровождались написанием кода на самых разных инструментах от Turbo Pascal до Visual Studio 2008 в самых разных условиях. Кто не знает, олимпиады обычно проходят в различных ВУЗах. Иногда убитые студентами компьютеры висли до невозможности, а количество вирусов на машине превышало всякие разумные рамки. Впрочем, в таких условиях пребывают все учасники соревнования, так что жаловатся нету времени ЂЂЂ нужно решать поставленные задачи. Так вот, за эти годы я усвоил очень важную вещь: едва ли не лучший дебаггер ЂЂЂ это консоль. Да-да, вот та самая, обычная черная штука, по которой вверх ползут серые буквы. Впрочем, цвета зависят от фантазии пользователя.

Мы с вами живем во времена продвинутых средств разработки, отладчиков, поддерживающих отладку многопоточных приложений, и многих других чрезвычайно полезных вещей. Но как и всякое другое явление, такой прогресс имеет и свои минусы ЂЂЂ на не самых быстрых машинах процесс пошаговой отладки может превратится в кошмар разработчика. Все виснет, дебаггер намекает вам, что пора бы и проапгрейдить машину, после получасового путешевствия по коду вашего детища вы в который раз жмете F10 и с ужасом летите вместе с выброшенным где-то в глубинах кода исключением на самый верхний уровень, в заботливо подставленный catch. Сообщение исключения говорит вам, что в метод пришли неверные аргументы, но абсолютно непонятно, откуда и каким образом они взялись. Стиснув зубы и вооружившись терпением вы в который раз начинаете охоту за мерзким багомЂЂЂ

Собираюсь начинать новый проект и постепенно приближаюсь к стадии написания некоторых базовых вещей. Решил собрать и систематизировать свои знания об некоторых аспектах разработки ПО на платформе ASP.Net, полученные за более чем год коммерческой разработки. В результате получилась вот такая статья. Она не претендует на принципиально новые вещи, это все давно знают, в определенном смысле это своеобразные best practices. Все, что написано ниже, скорее всего пригодится новичкам, но и опытные разработчики смогут почерпнуть для себя что-нибуть интересное.

Использование консоли при отладке ASP.Net приложений

Использование консоли при отладке ASP.Net приложений / Хабрахабр

Комментариев нет:

Отправить комментарий