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



         

Обзор операторов утверждений для Visual C++ и Visual Basic - часть 7


Она одна стоит целой книги (и остальная часть книги тоже превосходна). Эта программа автоматически отслеживает предложения Debug.Assert в исходной программе и помещает после них вызов реального оператора утверждения. Она также вычисляет имя исходного файла и номер строки, в которых была обнаружена проблема. Дополнительно к размещению реальных операторов утверждений в исходном коде, программа Assertion Sourcerer еще и убирает их, когда работа с ними заканчивается!

Программу Марка Пирса можно легко расширить на поиск предложений Debug.Print и вставку после них реальных операторов трассировки. В листинге 3-2 показан исходный код авторского файла VBASSERTANDTRACE.BAS, который содержит реализации всех тех реальных операторов утверждений и трассировки, о которых только что шла речь. Для обработки утверждений в нем используется макрос SUPERASSERT, обсуждению которого посвящен следующий раздел.

Листинг 3-2. Файл VBASSERTANDTRACE.BAS

Attribute VB_Name = "VBAssertAndTrace"

'''''''''''''''''''''''''''''''''''''''''''''

' Copyright (с) 1999-2000 John Robbins — All rights reserved.

' "Debugging Applications" (Microsoft Press) 

'

' Чтобы использовать этот файл: 

' Не обязательно (но настоятельно!) рекомендуется:

' использовать подключаемый Visual Basic-модуль Assertion

' Sourcerer Марка Пирса (Mark Pearce) из

' "Advanced Microsoft Visual Basic 6.0" (2nd ed).

' Он будет отлавливать все предложения Debug.Assert

' программы и помещать под каждым таким предложением

' обращение к BugAssert, так что в компилированный Visual Basic-код

' будут вставлены реальные операторы утверждений.

' В работе с Debug.Assert придерживайтесь следующих правил:

' 1. Компилируйте BUGSLAYERUTIL.DLL, потому что этот файл

' использует несколько экспортированных функций.

' 2. Разместите операторы Debug.Assert в исходном коде программы.

' 3. Когда вы будете готовы компилировать программу, используйте

' подключаемый модуль Марка Пирса, чтобы добавить обращения к




Содержание  Назад  Вперед