Visual studio как отлаживать программу

Данная статья описывает, как настроить отладку и отлаживать веб-приложение ASP.NET, размещенное на удаленном сервере IIS. Также предоставлены подробное описание msvsmon.exe и его конфигурация.

Оглавление

  • Вводные сведения
  • Введение
  • Средства отладки VisualStudioдля ASP.NET
  • Внутренний отладчик Visual Studio
  • Локальная отладка на IIS
  • Удаленная отладка на IIS
  • Запуск msvsmon.exe
  • Конфигурирование режима проверки подлинности
  • Проверка подлинности Windows
  • Без проверки подлинности
  • Прикрепление процесса в режиме проверки подлинности Windows
  • Прикрепление процесса в режиме без проверки подлинности

Вводные сведения:

Недавно была опубликована статья об Отладке приложения ASP.NET, размещенного на сервере IIS, с помощью прикрепления процесса. Были получены очень хорошие отзывы от всех читателей, предложивших написать статью об удаленной отладке на IIS. Данная статья перед вами.

Debugging in Visual Studio: A Beginner’s Guide

Введение:

Перед началом чтения данной статьи желательно прочитать предыдущую статью об отладке вашего приложения ASP.NET, размещенного на IIS: прикрепление процесса и выявление, какой процесс нужно прикрепить. Эта статья даст вам базовые знания об отладке приложения ASP.NET, размещенного на локальном сервере, наряду с выбором процесса из множества процессов. Статья была посвящена примеру, когда IIS установлен на локальном сервере, что означает, что вы разместили ваш сайт в вашей локальной среде разработки на вашем веб-сервере/рабочем сервере с установленным на нем visual studio. Однако данный сценарий нереален.

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

Это одна из самых сложных задач в ASP.NET. Надеюсь, в статье она объяснена понятно.

Средства отладки Visual Studio для ASP.NET

В Visual Studio можно отлаживать приложение тремя разными способами. Они следующие:
• Внутренний отладчик Visual Studio
• Локальная отладка на IIS
• Удаленная отладка на IIS

Внутренний отладчик Visual Studio:

Все знают, что visual studio имеет свой собственный внутренний инструмент отладки ASP.NET, используемый для отладки веб-приложения ASP.NET во время его разработки. Процесс, используемый для отладки приложения внутри visual studio, — это WebDev.WebServer.Exe . Механизм ASP.NET использует WebDev.WebServer.exe для отладки приложения. Если вы хотите более подробно ознакомиться с ним, читайте это.

Рисунок: Блок-схема внутреннего отладчика Visual Studio

Язык c++ с нуля | #41 Отладка программы в visual studio.

Локальная отладка IIS:

Ей посвящена прошлая статья. Чтобы освежить детали, весь сценарий объясняется с помощью следующей схемы (хотя в этом не было нужды, так как сценарий уже был изложен в прошлой статье, все же она используется только для сопоставления с удаленной отладкой).

Рисунок: Блок-схема отладки сайта ASP.NET с локального сервера IIS

При локальной отладке на IIS, IIS должен быть установлен в локальной системе, где установлен visual studio. Для отладки приложения, размещенного на IIS из visual studio, нужно прикрепить работающий процесс (w3wp.exe) внутри visual studio. После этого можно будет запустить отладку веб-приложения.

Удаленная отладка IIS:

Это главная тема, рассматриваемая в данной статье. Это одна из лучших функций, очень полезная, когда в локальной системе не установлен сервер IIS, или когда приходится хранить приложения в централизованном месте. Сценарий выполняется, когда вы имеете код приложения в вашей системе и полную сборку, развернутую на другом сервере IIS. Схемы ниже показывают общую схему удаленной отладки.

Рисунок: Блок-схема удаленной отладки приложения ASP.NET

Удаленная отладка с помощью Visual studio и удаленного IIS очень легко настраивается. Инструмент, используемый для настройки и конфигурирования процесса, называется «msvsmon.exe». Ниже описаны все до единого шаги по запуску, конфигурированию инструмента msvsmon и отладке приложения. Но перед этим рассмотрим, зачем нужна удаленная отладка.

Зачем нужна удаленная отладка

Перед переходом к деталям нужно разобраться, когда надлежит использовать удаленную отладку,
• На локальном сервере разработки не установлен IIS.
• Сервер разработки и сервер компоновки/выпуска/хостинга различаются
• Приложение размещено в централизованном месте.

Инструмент удаленной отладки

Инструмент, используемый для удаленной отладки приложения ASP.Net, называется «Msvsmon.exe». Инструмент удаленной отладки (Msvsmon.exe) – маленькое приложение на базе windows, которое Visual Studio 2005 применяет для удаленной отладки. Оно имеет очень простой пользовательский интерфейс, упрощающий настройку и конфигурирование. Во время удаленной отладки Visual Studio 2005 работает на одном компьютере, а инструмент удаленной отладки работает на удаленном компьютере вместе с приложением, которое вы отлаживаете.

Рисунок: Блок-схема удаленной отладки приложения ASP.NET с помощью msvsmon

Если нужно отладить приложение, размещенное на удаленном IIS, необходимо запустить msvsmon.exe на удаленном сервере, и наша система разработки – хозяин отладчика, в котором мы будем отлаживать наш клуб.

Запуск msvsmon.exe

Пути к установленному Msvsmon.exe следующие:
• Install pathMicrosoft Visual Studio 8Common7IDERemote Debuggerx86

Сначала нужно запустить приложение из местоположения, и мы получим следующий экран,

Рисунок: Первый запуск msvsmon.exe

В момент запуска приложения окно покажет статусное сообщение «Msvsmon запустил новый сервер с именем ». Ожидает новое подключение». Это значит, что инструмент контроля отладки готов подключиться к некоторому удаленному серверу. Теперь можно подключиться к данному удаленному серверу и получить список всех процессов, выполняющихся на сервере.

Конфигурирование режима проверки подлинности

Конфигурирование инструмента msvsmon очень простое. Главная конфигурация требует режим проверки подлинности (аутентификации). Msvsmon поддерживает два типа аутентификации
• Аутентификация Windows
• Без аутентификации

Аутентификация Windows

Msvsmon обеспечивает высокий уровень безопасности в режиме аутентификации windows. Пользователь, желающий отлаживать приложение удаленно, должен быть опознан, то есть он должен иметь достаточно разрешений на получение доступа к средству отладки из удаленной системы. Чтобы настроить режим аутентификации Windows, нужно перейти в «Инструмент» > «Параметры». Появится следующее окно,

Рисунок: Настройка и конфигурирование параметров безопасности

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

Рисунок: Добавление пользователя для аутентификации windows

По умолчанию администратор должен иметь разрешение на удаленную отладку, можно использовать кнопку добавления, чтобы добавить нового пользователя, а также можно дать разрешение на доступ к отладке или запретить отладку любому пользователю. Например, я добавил себя, нажав на кнопку “Добавить” и получив контроль доступа.

Рисунок: Добавление пользователя для аутентификации windows

Теперь я дал себе разрешение на удаленную отладку (из хозяина (хоста) отладчика).

Читайте также:
Назовите основные разделы учебной программы и охарактеризуйте их

Рисунок: Разрешение на отладку для выбранного пользователя

Аналогично можно выбрать любого пользователя из Active Directory и можно отклонить запрос на удаленную отладку, несмотря на то, что пользователь — прошедший проверку пользователь Windows.

Способ удаленной отладки при режиме аутентификации windows описан в разделе прикрепления процесса.

Без аутентификации

В данном режиме аутентификации отсутствует защита. Любой может отлаживать удаленно, если режим аутентификации установлен в «без аутентификации». Так как данный режим отладки абсолютно не защищен, поэтому он должен использоваться только в защищенной сети.

Рисунок: Конфигурирование режима без аутентификации

Режим без аутентификации поддерживает только собственную отладку. Вы можете угадать поведение из предупреждающего сообщения. Есть кнопка-флажок «Разрешить отладку любому пользователю». Если ее отметить, любой пользователь сможет отлаживать.

В следующем разделе описано, как прикреплять процесс для удаленной отладки в режимах Windows и без аутентификации.

Прикрепление процесса из удаленной системы

Теперь удаленный отладчик готов принять новое подключение, чтобы начать удаленную отладку. Выше мы разобрались, как конфигурировать msvsmon для режимов windows и без аутентификации. Теперь рассмотрим, как соединиться с ним и запустить отладку.

Перед тем, как сделать то, что нам нужно, мы создали веб-приложение и разместили его на IIS, где работает msvsmon. Нам необходимо подключиться к нему из нашей локальной системы, где находится наш код. Рассмотрим вариант режима аутентификации windows

Прикрепление процесса – режим аутентификации Windows

Сначала нужно открыть приложение из visual studio в нашей системе разработки. Теперь нам нужно прикрепить процесс с удаленного сервера. Перейдите в Инструмент > Прикрепить процесс

Рисунок: Прикрепление процесса из Visual Studio

После нажатия на «Прикрепить процесс» получим следующее окно.

Рисунок: Стандартный список процессов

Сейчас оно показывает все процессы, в данный момент выполняющиеся в системе. Теперь нам нужно подключить его к удаленной системе. Сейчас я уже запустил msvsmon с именем «abhijit.jana», и он ожидает нового подключения.

Рисунок: msvsmon выполняется на удаленном хосте

Сейчас я собираюсь соединиться с удаленной системой из моей локального ЧЕГО? интегрированной среды разработки visual studio. Что нужно сделать? Нужно указать имя удаленного сервера в поле “Уточнитель” в окне прикрепления процесса.

Рисунок: Соединение с удаленным хостом и получение списка процессов

Сейчас в списке процессов перечислены все процессы с удаленного сервера вместе с рабочим процессом ((w3wp.exe). Это точный рабочий процесс, который нужно прикрепить к нашему коду. Еще один момент: когда мы получаем список процессов, это значит, что удаленный сервер подключен. Если сейчас проверить окно msvsmon, оно покажет еще одно сообщение, что пользователь подключен. Посмотрите на снимок экрана

Рисунок: Отладочный монитор показывает сообщение о подключении

Теперь наше приложение готово к отладке. Установите точку останова/остановки в вашем коде и приступайте к отладке. Здесь наш вебсайт [размещено на удаленном сервере IIS], имеющий серверную кнопку и приложение, можно отлаживать по нажатию кнопки.

Рисунок: Подключение к сайту по URL хоста

Теперь процесс прикреплен в/к нашей visual studio, и я установил точку останова/остановки на методе нажатия кнопки. Здесь показан результат.

Рисунок: Отладчик в точке останова/остановки

Приступайте к отладке с удаленного сервера. Теперь рассмотрим способ удаленной отладки в режиме без аутентификации.

Прикрепление процесса – Режим без аутентификации

Это очень похоже на прикрепление процесса с аутентификацией windows. Уже было рассмотрено, как конфигурировать режим без аутентификации в удаленном отладчике. Нужно прикрепить процесс аналогичным образом, как было сказано. Есть несколько изменений. Нужно выбрать режим передачи -Удаленный (только собственный, без аутентификации) [ смотрите снимки экрана] и нужно указать уточнитель «abhijit.jana: 4015». Посмотрите на снимки экрана:

Рисунок: Прикрепление процесса в режиме без аутентификации

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

Рисунок: Статусное сообщение для режима без аутентификации

На этом закончено объяснение того, как сделать отладку вашего приложения с удаленного сервера IIS в режимах windows и без аутентификации.

Отладка для нескольких пользователей

Это одна из самых потрясающих функций инструмента Msvsmon. Инструмент отладочного монитора Msvsmon позволяет нескольким пользователям отлаживать одновременно. Каждый экземпляр удаленного отладчика имеет уникальное имя сервера. Уже было показано, что имена сервера изменяемые, поэтому можно дать экземпляру удаленного отладчика любое имя сервера. Теперь несколько пользователей смогут подключаться к одному и тому же серверу

Рисунок: Общая блок-схема из нескольких экземпляров отладчика

Несколько важных советов по удаленной отладке
• Компоненты удаленной отладки Visual Studio 2005 должны быть установлены на удаленном компьютере
• Нужно ссылаться на удаленный компьютер, используя имя компьютера вместо IP адреса.
• Файл Web.config для приложения ASP.NET не должен содержать никаких ошибок, и атрибут отладки элемента компиляции должен быть установлен в Истину.
• Убедитесь, что брандмауэр не блокирует удаленную отладку.
• Настройки безопасности для сайта должны разрешать комплексную аутентификацию Windows.
• Убедитесь, что монитор удаленной отладки работает на удаленном сервере. Если Msvsmon.exe не работает, вы получите следующее сообщение об ошибке.

Заключение:

В заключение сделаем краткие выводы. msvsmon – утилита, предоставляющая средство отладки приложения, размещенного на удаленном сервере IIS. Она предоставляет два типа режима аутентификации, Windows и режим без аутентификации. В случае режима аутентификации windows пользователь должен иметь разрешение на доступ к экземпляру удаленного отладчика, но, с другой стороны, режим без аутентификации не требует полномочий доступа.

Рисунок: Общая сводка

Надеюсь, данная статья поможет вам освоить удаленную отладку.

Источник: www.cyberguru.ru

Отладчик программ LUA для Microsoft Visual Studio

В статье рассказывается об опыте использования отладчика Microsoft Visual Studio для отладки скриптов, написанных с использованием языка Lua. Отладчик был интегрирован в игровой движок Riposte компании Parallax Arts Studio.

Введение

Роль скриптов в игровом проекте

Преимущества использования скриптов:

1. Предоставляют возможность описания логики игровых уровней дизайнерам.

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

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

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

4. Для небольших проектов скрипты могут играть роль единственной среды разработки проекта при стабильном ярде игрового движка. В этом случае дополнительным аргументом в пользу использования скриптов будет возможность значительного упрощения кросс-платформенной разработки.

Читайте также:
Программа оплаты с телефона Андроид Сбербанк как называется

Также проявляются некоторые положительные аспекты использования скриптов, которые можно реализовать и без скриптов (например, на уровне С++ кода), но использование скриптов делает их более естественными и явными:

1. Возможность создавать предметно-ориентированный программный интерфейс высокого уровня (DSL – Domain-Specific Language), поднимая уровень абстрагирования до уровня, используемого дизайнерами.

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

Всё это в сумме позволяет значительно упростить, ускорить и удешевить разработку.

Особенности работы со скриптами

1. Скрипты часто используются пользователями, не имеющими специальной подготовки.

2. Скрипты часто используются при прототипировании и других видах работ, когда отсутствуют формальные спецификации на программную систему.

3. Часто вносится много мелких изменений

Всё вышеуказанное приводит к тому, что в скриптах достаточно часто появляются логические ошибки, которые требуется локализировать и исправлять. Этим обуславливается необходимость в инструменте, позволяющем быстро проводить отладку скриптового кода.

Возможные альтернативы

Существует большое число способов отладки кода.

1. Визуальный просмотр текста программы, анализа текста и проверка правильности «силой ума».

2. Использование средств протоколирования для вывода интересующих значений.

3. Использование модульных тестов при разработке кода

Однако ни одно из вышеперечисленных средств не обладает той оперативностью в расследовании ошибочной ситуации, какой обладает отладчик.

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

Какой отладчик лучше?

Зафиксировав наш выбор на необходимости иметь отладчик для используемого языка программирования, рассмотрим вариант создания отладчика.

Самый простой вариант – использование готового отладчика, который поставляется вместе с языком программирования. Как мы видим это, например, в случае с С++. Однако, отладчики поставляются в основном только для промышленных языков программирования, таких как С++. Найти хороший отладчик для скриптового языка достаточно сложно.

Например, для скриптового языка Lua есть несколько достаточно простых IDE, которые содержат в себе отладчик. Но интегрировать их в движок не представляется возможным и, вследствие этого, такая среда годится только для проверки небольших самостоятельных программ на Lua.

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

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

Урок четвёртый: отладка кода (перевод)

Из этого урока вы узнаете как использовать отладчик Visual Studio для пошагового выполнения кода, чтобы следить за выполнением программы; а также отслеживать значения переменных по мере выполнения кода.
Редко с первого раза можно написать отлично работающую программу. Даже если вы не допустили ошибок, которые не позволят Visual Studio создать ваш плагин, вполне вероятно, что вы допустили ошибку в программной логике, которая заставляет выводить неожиданные результаты. Ошибки в вашем коде называются багами, а процесс анализа вашего кода, изучающий ход выполнения программы и значения переменных, называется отладкой (дебагинг).
Чтобы отладить код вашего плагин, вам придётся запустить AutoCAD из вашего отладчика Visual Studio и запустить ваш плагин в AutoCAD*.
* Если вы используете примеры готовых проектов, а не начинаете с нуля и шагов, описанных здесь, предполагается, что вы установили AutoCAD в папку C: Program Files Autodesk AutoCAD 20xx. Если место папки установки AutoCAD отличается, то для отладки завершённых примеров проектов вы должны выполнить следующие шаги.
Это легко сделать в профессиональных версиях Visual Studio – параметр My Project позволяет вам установить исполняемый файл для запуска при запуске отладчика:
Однако этот функционал не отображается через среду IDE Visual Studio. Именно поэтому вы создали свой проект в уроке 1 с помощью мастеров AutoCAD c помощью AutoCAD.NET Wizard, вместо того, чтобы создавать его используя библиотеки классов. Если вы установите правильное расположение AutoCAD в диалоговом окне конфигурации, этот параметр будет создан, даже если вы не можете изменить его через пользовательский интерфейс Visual Studio.
Если по какой-то причине Wizard не установил это корректно или вы решили использовать проект Class Library, вы можете вручную настроить AutoCAD 20xx на запуск отладчиком, выполнив следующие инструкции.
Запуск отладчика
Если вы закрыли Visual Basic .NET IDE, запустите её снова и откройте проект, который вы сохранили в уроке 1.
Чтобы начать процесс отладки, просто откройте меню Debug и выберите Start debugging или нажмите F5. Это запустит AutoCAD 20хх из вашего отладчика.

Вы должны запустить AutoCAD таким образом, чтобы ваш отладчик мог подключиться к процессу AutoCAD, чтобы отслеживать выполнение кода, который вы скомпилировали в свой подключаемый DLL.
Если во время этого у вас открыто окно Visual Studio Community Immediate, вы увидите много текста, пролистывающего это окно. Некоторые части этого текста выглядят страшно, так как содержат в себе слово «error». Не беспокойтесь об этом. Этот текст носит информационный характер – он не означает что есть проблемы с AutoCAD или вашим плагином.
Как только AutoCAD будет готов, загрузите плагин с помощью команды NETLOAD, как в 1 уроке. Однако, поскольку сейчас вы проводите отладку, Visual Studio Community создал «отлаженую» версию вашего .NET плагина DLL. Если вы сохранили свой проект в C:test, то путь для загрузки бует:
C:testKeepAttributesHorizontalKeepAttributesHorizontalbinDebugKeepAttributesHorizontal.dll
Помните, что DLL, загруженный в 1-ом уроке, находилась в папке binRelease. Когда вы создадите окончательную версию вашего DLL-плагина, который вы хотите предоставить своим пользователям и клиентам Visual Studio создаст версию для релиза. Visual Studio оптимизирует скомпилированный код с сборке для релиза, чтобы он работал быстрее и занимал меньше памяти. Когда вы хотите отладить свой код, Visual Studio создаёт отладочную версию вашего DLL плагина. Версия для отладки не оптимизирована в плане скорости/памяти, а также содержит дополнительную информацию, которую использует отладчик, чтобы рассказать вам о том, что происходит при запуске кода.
Теперь откройте тестовый файл BlocksWithAttributes.dwg
Контрольные точки.
Теперь ваш DLL плагин готов к отладке. Но прежде чем вы запустите команду KEEPSTRAIGHT, вы должны сообщить отладчику, где вы хотите, чтобы он остановился во время выполнения кода. Для того используются контрольные точки.
В Visual Studio дважды щёлкните мышью по MyCommands.vb в обозревателе решений, чтобы отобразить код и щёлкнуть в любом месте строки:
Public Shared Sub ImplementOverrule()
Далее выберите Toggle Breakpoint в меню Debug (или нажмите F9).

Теперь эта линия будет выделена красным цветом, а с краю появится красный круг, показывающий, что вы установили контрольную точку на этой строке:

Установите контрольную точку для функции TransformBy таким же образом:
Public Overrides Sub TransformBy( ByVal entity As Entity ,
ByVal transform As Matrix3d )
Когда AutoCAD обращается к этим методам в вашем коде, отладчик останавливается на этих строках и ждёт, пока вы скажете, что делать дальше.
Выполнение кода.
Теперь пришло время вызвать вашу команду. Введите KEEPSTRAIGHT в командной строке AutoCAD, а затем нажмите Enter. Далее запускается Visual Studio (если этого не произошло, запустите его при помощи иконки на рабочем столе Windows). Отладчик остановлен в ожидании, выделив жёлтым цветом и стрелкой в поле ниже сроки, которая будет выполнена далее. Атрибут CommandMethod сообщает AutoCAD, что он должен запустить ваш метод KEEPSTRAIGHT, поэтому отладчик остановился на контрольной точке, которую вы установили в начале этого метода.

Читайте также:
Как в программе acdsee

Теперь вы готовы выполнить свой код. В меню отладки Visual Studio есть три способа выполнить свой код: Step Into; Step Over и Step Out. В основном вы будете использовать Step Over – он выполняет строку кода (выделенную жёлтым цветом) в отладчике, а затем переходит к следующей строке. Если строка кода, которая должна быть выполнена, вызывает метод, то Step Over выполняет весь метод. Если вы хотите выполнить вызываемый метод по одной строке за шаг, вы можете использовать Step Into; и вы можете использовать Step Out для перемещения назад (из метода) к коду, который вы первоначально отлаживали.

Так же, как и в меню Debug, вы можете найти значки Step Into, Step Over и Step Out на панели инструментов, а ещё каждая из них имеет сочетание горячих клавиш (F8, Shift + F8 и Ctrl + Shift + F8).

А сейчас нажмите на значок Step Over на панели инструментов. Отладчик перейдёт к следующей строке кода (игнорируя комментарии).

Эта строка является началом условного оператора. Код между If… Then и End If выполняется только в том случае, если логическое условие между If и Then определяется как True. Наведите указатель мыши на текст myOverrule. Появилась всплывающая подсказка с указанием значения переменной.

Чтобы отображать значения переменных, вы также можете щёлкнуть правой кнопкой мыши на переменной в вашем коде и выбрать Add Watch. Теперь переменная и её значение будет отображаться в окне Watch в нижней части экрана.

Отладчик сообщает вам, что значение myOverrule в данный момент отсутствует. Это и не удивительно, так как вы первый раз запустили функцию. На основе информации, сообщённой вам отладчиком, будет ли выполнятся код внутри оператора If?
Правильно – будет – так как myOverrule имеет значение Nothing и это True (истинно).
Просмотрите код шаг за шагом, останавливаясь на значениях и свойствах переменных, чтобы посмотреть, как они меняются по мере выполнения кода. Если вы захотите отключить построчную отладку, просто нажмите F5, чтобы перейти к следующей контрольной точке, — это нужно сделать, когда вы дойдёте до конца метода ImplementOverrule ().
Теперь вы закончили выполнение своей пользовательской команды, теперь пришло время отладить запуск программы. Если AutoCAD не запустился автоматически, запустите его с иконки на рабочем столе. Введите ROTATE, в командной строке и нажмите Enter, выберите блок и назначьте точку вращения.
Как только вы выберете точку вращения, отладчик должен дойти до контрольной точки переопределённого метода TransformBy. Просмотрите этот код, проверяя значения переменных по мере прохождения по коду:
— Обратите внимание на значение переменной, которое передаётся функции. Отладчик сообщает что тип AttributeReference – переменная типа Entity содержащая объект типа AttributeReference. Помните о том, что вы узнали о наследовании в третьем уроке.
— Наведите курсор мыши на переменную. Нажмите на значок «+» слева от значения переменной во всплывающей подсказке, чтобы развернуть её окно. Так можно запрашивать общедоступные свойства этого экземпляра класса Matrix3d, который сообщает вам значения для каждого элемента матрицы, а также систему координат, представляемую матрицей. (Не переживайте, если вы не понимаете матричную геометрию – здесь вы можете просматривать свойства переменных в отладчике).
— Проверьте значение свойства attRef.Rotation непосредственно перед и после выполнения этой строки кода.
Если вы нажмёте F5, то обнаружите что AutoCAD вызывает TransformBy (). Это связано с тем, что AutoCAD закрепляет объект – он преобразует вставленный блок каждый раз, когда вы перемещаете мышь. Нажмите на строку, в которой вы добавили контрольную точку для функции TransformBy (), и нажмите F9, чтобы отключить её. Нажмите F5 ещё раз, и отладчик отладчик отменит остановку AutoCAD. Завершите команду ROTATE, щёлкнув в окне чертежа, для выбора угла поворота.
Наконец, снова вызовите команду KEEPSTRAIGHT. Проверьте значение myOverrule в начале инструкции If и посмотрите, как отладчик идёт по другому пути через ваш код во второй раз, когда вы запускаете этот метод.
Когда закончите экспериментировать, выберите Stop Debugging в меню Debug, чтобы закрыть AutoCAD и завершить сеанс отладки.

Поздравляю! Теперь вы знаете как совершать отладку проекта в Visual Studio.
Дополнительное упражнение.
Чтобы потренироваться с процессом отладки, создайте новый проект плагина и вставьте нижеприведённый код в MyCommands.vb. Код основан на примерах, рассмотренных в уроке 3, для демонстрации концепций объектно-ориентированного программирования. Запустите новый проект ObjectOrientedSample.
— установите контрольную точку в начале метода Test ();
— запустите AutoCAD из отладчика;
— загрузите при помощи команды NETLOAD ObjectOrientedSample.dll из подпапки проекта bindebug.
— Запустите команду RUNTEST в командной строке AutoCAD, а затем используйте операции отладки, которые вы изучили в этом уроке, для изучения исполнения кода и просмотра значения переменных.
Вот код:
Imports Autodesk.AutoCAD.Runtime

Public Class MyCommands

Dim pt1 As Point = New Point
‘ USe Step Into on the next line to step into SetLocation
pt1.SetLocation(10, 10)
Dim xVal1 As Integer = pt1.X
pt1.X = 9
Dim xVal2 As Integer = pt1.X

Dim pt2 As NewPoint = New NewPoint
‘ SetLocation, X and Y are inherited from Point class
pt2.SetLocation(20, 20)
Dim xVal3 As Integer = pt2.X
pt2.X = 9
‘ Z is new to the NewPoint class
pt2.Z = 12
Dim pt3 As Point = pt2
‘ pt3 is variable of type Point, but holds an object of type NewPoint
End Sub

Public Class Point

Private mXCoord As Integer
Private mYCoord As Integer

Public Sub SetLocation( ByVal x As Integer , ByVal y As Integer )
Me .mXCoord = x
Me .mYCoord = y
End Sub

Public Property X() As Integer
Get
Return Me .mXCoord
End Get
Set ( ByVal value As Integer )
Me .mXCoord = value
End Set
End Property

Public Property Y() As Integer
Get
Return Me .mYCoord
End Get
Set ( ByVal value As Integer )
Me .mYCoord = value
End Set
End Property

Public Class NewPoint
Inherits Point

Private mZCoord As Integer

Public Property Z() As Integer
Get
Return Me .mZCoord
End Get
Set ( ByVal value As Integer )
‘ Don’t accept negative Z values
If value >= 0 Then
Me .mZCoord = value
End If
End Set
End Property

Источник: www.autoprodor.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru