Отладка приложений


Последствия работы с отладчиком


Напомню, что в разделе "MinDBG: простой отладчик для Win32" главы 4, рассказано о том, насколько более устойчива отладка в 32-разрядных верcиях Windows, по сравнению с 16-разрядными, потому что в первом случае подчиненный отладчик находится вне адресного пространства основного отладчика. VB-отладчик понимает только интерпретируемый р-код, поэтому в результате подчиненный VB-отладчик выполняется в том же самом адресном пространстве, что и основной. Большинству разработчиков на Visual ) Basic известно, что VB не присущи проблемы, аналогичные тем, которые \ порождает применение указателей в С-программах, но ошибочный компо нент, загружаемый приложением VB, может привести к аварийному завершению VB IDE и потере части проекта.

Следующие три конкретных правила должны помочь читателю разумно использовать VB-отладчик:

  •  будьте крайне осторожны при подклассификации или использовании операции AddressOf;
  •  в общем случае, во время отладки считайте, что исходный код имеет атрибут "только-для-чтения" (read-only);
  •  при отладке не пользуйтесь остальной частью IDE.

 Подклассификация (subclassing) в программировании для Windows — это метод, позволяющий приложению перехватывать и обрабатывать сообщения, посланные некоторому окну, прежде чем оно сможет обработать его. — Пер.

Будьте крайне осторожны при подклассификации или использовании оператора AddressOf

Большинство VB-приложений прекрасно выполняются под отладчиком. Однако если приложение подклассифицирует элементы управления Windows или вы используете операцию AddressOf, чтобы переслать одну из ваших подпрограмм как перехватчик обратных вызовов или процедуру таймера, то следует соблюдать особую осторожность, потому что приложение выполняется в том же самом адресном пространстве, что и VB-отладчик. Отлаживая приложение, необходимо учитывать, что обратные вызовы и таймеры могут все еще выполняться после того, как приложение будет остановлено, в результате приводя к аварийному завершению IDE.




Начало  Назад  Вперед



Книжный магазин