3. В правой части щелкните на кнопке Add.
Ниже станут доступными поля текстового ввода. Поле Title содержит текст "New T o o l " .
4.Замените текст "New Tool" в поле Title на что-нибудь наподобие Debugger.
5.Щелкните на кнопке Browse рядом с полем ввода Command и перейдите к каталогу с установленным пакетом .NET Framework SDK. Откройте пап
ку пакета SDK и затем подкаталог GuiDebug. Выберите файл DbgCLR.exe и щелкните на кнопке Open.
Ранее уже рассматривался вопрос о том, где должен находиться ваш пакет SDK.
6. Вернитесь в окно Options, щелкнув на кнопке ОК.
Только что созданный инструмент Debugger открывает отладчик CLR и ничего бо лее. В следующих нескольких разделах объясняется, как запускать инструмент, загру жать в него файлы и использовать отладчик.
Запуск отладчика из SharpDevelop
После того как вы скомпилировали отладочную версию своей программы, ее можно построчно проверить в отладчике CLR. В этом разделе объясняется, как начать исполь зование отладчика CLR.
CLR является визуальным отладчиком, который выглядит и в основном работает точ но так же, как и его коллега в Visual Studio.
Вы работаете в комфортном окне с кодом, который открыт перед вами, и получаете удобные отметки наподобие желтой подцветки текущей линии и красной подцветки строк с контрольными точками, а также можете вызывать знакомые команды из меню Debug с помощью панели инструментов или комбинаций клавиш. Вы можете легко про верять содержимое переменных и отслеживать значения нескольких переменных одно временно. Вы можете исследовать стек вызовов, показывающий последовательности ме тодов, вызывавшихся перед тем методом, через который вы сейчас проходите.
Однако многие из возможностей отладчика Visual Studio 2005 здесь отсутствуют, включая замечательную подсказку о данных, рассматривавшуюся в предыдущей главе. В этом отладчике имеются только старые возможности, но они вполне при годны для работы.
Загрузка отладчика
Исправив все ошибки компиляции, вы можете обнаружить, что программа после за пуска ведет себя странно. Это именно тот случай, когда нужно воспользоваться отладчи ком CLR.
Для запуска отладчика не нужно выбирать меню Debug — его просто нет! Вместо этого выберите в SharpDevelop команду меню Tools^Debugger (или аналогичную ко манду в TextPad).
Когда вы в первый раз отлаживаете какую-то программу, выполните следующие действия.
1.В окне отладчика выберите команду меню Debugs Program to Debug. Вы берите в диалоговом окне исполняемый файл вашего проекта, например,
Mycode. ехе.
532 |
Часть VII. Дополнительные главы |
Настройка программы SharpDevelop
Во время написания этой книги SharpDevelop по умолчанию была настроена на использование ранних версий компилятора С# и библиотеки классов .NET. Но вы можете изменить эти настройки (заметьте, что это можно сделать для каж дой программы) посредством следующих действий.
1.Выберите команду меню Project ^Project Options.
2.В левой части диалогового окна Project Options выберите команду Con figurations^ Debug ^Runtime/Compiler.
3.В правой части в панели Compiler Version выберите необходимые версии компилятора и среды выполнения .NET.
Для использования последней версии 2.0 выберите v2 . 0 . п (где п — номер вы пуска для версии 2.0).
4.Щелкните на кнопке ОК.
После выполнения этих действий можно свободно использовать новые возможности языка С# 2.0 в своих программах, включая обобщенное программирование и блоки ите раторов. Обобщенное программирование рассматривается в главе 15, "Обобщенное программирование", а блоки итераторов — в главе 20, "Работа с коллекциями".
После выхода официального выпуска пакета Visual Studio 2005 вам не нужно выполнять вышеперечисленные действия. Просто загрузите самую свежую доступную версию программы SharpDevelop (она бесплатная) и используйте принятую по умолчанию (Standard) версию компилятора.
Если у вас есть пакет Visual Studio или Visual С# Express, вы, вероятно, пред почтете один из них программе SharpDevelop.
Добавление инструмента для запуска отладчика
Самым главным недостатком программы SharpDevelop является отсутствие отладчи ка с возможностями встроенного отладчика Visual Studio (который описан в главе 21, "Использование интерфейса Visual Studio"). Но здесь будет показано, как добавить в ме ню Tools программы SharpDevelop инструмент, который запускает еще один визуальный отладчик компании Microsoft— CLR, поставляемый с пакетом .NET Framework SDK. Затем вы узнаете, как запускать и использовать этот отладчик.
Этот отладчик можно использовать как в SharpDevelop, так и в TextPad.
Для добавления инструмента Debugger в программу SharpDevelop выполните сле дующее.
1.Выберите команду меню Tools^Options.
2.В левой части окна Options выберите каталог Tools и затем External
Tools.
1ВЫ |
Глава 22. С# по дешевке |
531 |
Файл с расширением . ЕХЕ должен находиться в подкаталоге bin\Debug папки вашего проекта.
2.Выберите команду меню File^Open^File и главный файл вашего проекта с расширением . CS (это файл с функцией Main ()) , к примеру, Mycode. c s .
3.Если программа состоит из нескольких файлов .CS, повторите процедуру открытия файла, описанную во втором шаге, для каждого дополнительного файла.
Выбор нескольких файлов в диалоговом окне File Open позволяет открыть их все одновременно.
На рис. 22.2 показано окно отладчика с прерванным в точке останова проектом С#.
Рис. 22.2. Проект С#, открытый в отладчике CLR
При выборе команды меню File^Close Solution можно сохранить конфигурацию отладчика, называемую решением, наподобие решения С# в Visual Studio. Файл решения отладчика имеет расширение . DLN. В следующий раз, когда потребуется загрузить информацию об отладке для этого проекта, вы можете загрузить только файл решения, выбрав в отладчике команду меню File^Open Solution. Это избавит от необходимости повторного открытия файла . ЕХЕ и всех файлов . CS.
Приготовился, настроил, отладил!
После настройки отладчика с использованием решения для вашей программы вы мо жете решать обычные отладочные задачи. Из-за большой схожести отладчика со встро енным в Visual Studio не стоит тратить время на посвящение вас во все подробности, так как за ними можно обратиться к предыдущей главе.
Глава 22. С# по дешевке |
533 |
Отладчик CLR очень похож на отладчик Visual Studio, поскольку по сути он основан на последнем. Этому отладчику не хватает всего лишь нескольких из наиболее продвинутых возможностей отладчика Visual Studio.
Отсутствующие возможности отладчика
Чего же нет в отладчике CLR, что может обеспечить Visual Studio? В нем отсутствует несколько вещей, но это не вызовет у вас большого огорчения. Ниже перечислены воз можности, которых не хватает отладчику CLR по сравнению с отладчиком Visual Studio.
Окна Registers, Disassembly и Auto в отладчике CLR работают не так, как в Vis ual Studio, так что они бесполезны для языка С#. Вероятно, вам не потребуются окна Auto или Registers; а при необходимости вы можете использовать отдель ный инструмент для дизассемблирования — Ildasm.
Вы не сможете вызвать справку при нажатии на кнопку <F1>. Это неприятно, но можно нормально работать и без этого. Используйте справку, предоставляемую в пакете .NET Framework SDK, как было описано ранее в этой главе.
Этот отладчик можно использовать только для отладки программ платформы
.NET, но не "родной" код Win32. Ну и что? Язык С# полностью основан на плат форме .NET.
Нельзя использовать удаленную отладку. Если вам необходима подобная функция, применяйте Visual Studio.
Одной из хороших, но более грубых альтернатив программе SharpDevelop является редактор кода TextPad, показанный на рис. 22.3. С точки зрения комфорта, этот редактор определенно можно считать шагом назад по сравнению с такими программами, как SharpDevelop или Visual Studio. Он намного ближе к работе в командной строке — за ис ключением того, что в действительности вам не придется работать в ней, — и имеет большое количество хороших возможностей для редактирования, предназначенных для программистов.
Пробная версия редактора TextPad находится на прилагаемом компактдиске. Если вы захотите использовать этот редактор, вы должны его приоб рести. Посетите Web-сайт по адресу www. t e x t p a d . c o m , заплатите (около 30 дол.) и зарегистрируйте свой редактор.
На Web-сайте программы TextPad также находится форум, на котором можно полу чить помощь от опытных пользователей TextPad— в основном приверженцев языков Java и Perl, но все же их помощь может быть полезной и для программиста на С#. Неко торые программисты С# предпочитают редактор TextPad программе SharpDevelop, за исключением программирования Windows Forms и Web-программирования. Но все же вы должны попробовать обе программы, чтобы определить свои собственные предпоч тения. Эта глава может стать решающей причиной для программирования на С# с помо щью TextPad. ,
534 |
Часть VII. Дополнительные главы |