Существует несколько методов, которые вы можете использовать.
Эти два были упомянуты
Использование F8 и Shift-F8, чтобы пройти через программу
Добавление Остановки (а затем извлекая)
Другие
использовать глобальную переменную для создания Коллекция. Используйте его как стек, и у вас есть подпрограммы, которые вам интересны для push и pop.И наоборот, ничего не вытаскивайте, и вы получите след.
Использование часов для наблюдения и разрыва при условиях выбора. Вы можете настроить практически любое условие для разрыва.
Сделайте глобальную строку и установите свои процедуры при вводе их. Контролируйте его через Watch.
Используйте Debug.Print в своем коде. Также в отличие от Stop вы можете оставить их без выполнения производственного кода.
Используйте объект файловой системы, чтобы создать текстовый файл, который будет действовать как журнал.
Иногда проблема возникает только в соответствующей версии, тогда вам нужно использовать MsgBox или войти в текстовый файл. MsgBox может изменять поведение сложных пользовательских взаимодействий с формами.
Это все методы, которые я использовал при отладке приложения. Если мне нужно было контролировать приложение, я бы использовал Debug.Print. Если это не делает компиляцию трюка, тогда войдите в текстовый файл.
Если у вас есть что-то действительно сложное, я рекомендую переместить весь ваш код из событий в классы, реализующие Command Pattern. Ваши классы команд должны взаимодействовать с формой и интерфейсом.
В методе Execute классов команд вы будете что-то вроде
<save the current state>
<Do your original code>
<save the modified state>
<push the command onto a stack>
Что будет происходить в том, что вы завершаете список всех команд, которые выполняются (даже такие вещи, как при наведении курсора мыши) с государством они столкнулись и изменили состояние. Затем вы можете изучить каждый объект по очереди, чтобы узнать, что происходит. Это почти эквивалент создания Undo/Redo
Обратите внимание, что такие вещи, как MouseOver, могут вызывать много классов в стеке команд, поэтому вам придется тщательно структурировать свои тесты или перегружать информацию. Помните, что вы всегда можете пропустить нажатие команды в стек.
Недостатком использования команд является то, что вы отказались от отладки при перепроектировании. Вы должны решить, стоит ли это делать.
Я предполагаю, что вы были отмечены, потому что вам не нужно удалять операторы Stop перед компиляцией, потому что они просто игнорируются. – onedaywhen 2008-11-14 08:25:21