Отладка приложений для Microsoft .NET и Microsoft Windows [Джон Роббинс] (pdf) читать постранично, страница - 2

-  Отладка приложений для Microsoft .NET и Microsoft Windows  3.21 Мб, 731с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - Джон Роббинс

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

отношения к реальным компаниям, организациям, про
дуктам и лицам.

ISBN 0735615365 (англ.)
ISBN 9785750202430

© Оригинальное издание на английском языке,
John Robbins, 2003
© Перевод на русский язык, Microsoft Corporation,
2004
© Оформление и подготовка к изданию, издатель
ство «Русская Редакция», 2004

Оглавление
Благодарности

XIII

Введение

XIV

Для кого эта книга? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XVI
Как читать эту книгу и что нового во втором издании . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XVI
Требования к системе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XVIII
Файлы примеров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XVIII
Обратная связь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIX
Служба поддержки Microsoft Press . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XX

Ч А С Т Ь

I

СУЩНОСТЬ ОТЛАДКИ

1

Глава 1 Ошибки в программах: откуда они берутся
и как с ними бороться?

2

Ошибки и отладка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Что такое программные ошибки? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Обработка ошибок и решения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Планирование отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Необходимые условия отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Необходимые навыки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Выработка мастерства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Процесс отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Шаг 1. Воспроизведи ошибку . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Шаг 2. Опиши ошибку . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Шаг 3. Всегда предполагай, что ошибка твоя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Шаг 4. Разделяй и властвуй . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Шаг 5. Мысли творчески . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Шаг 6. Усиль инструментарий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Шаг 7. Начни интенсивную отладку . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Шаг 8. Проверь, что ошибка устранена . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Шаг 9. Научись и поделись . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Последний секрет отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Глава 2

Приступаем к отладке

Следите за изменениями проекта вплоть до его окончания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Системы управления версиями . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Системы отслеживания ошибок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Выбор правильных систем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Планирование времени построения систем отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Создавайте все компоновки с использованием символов отладки . . . . . . . . . . . . . .
При работе над управляемым кодом рассматривайте предупреждения
как ошибки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
При работе над неуправляемым кодом рассматривайте предупреждения
как ошибки (в большинстве случаев) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Разрабатывая неуправляемый код, знайте адреса загрузки DLL . . . . . . . . . . . . . . . . . .
Как поступать с базовыми адресами управляемых модулей? . . . . . . . . . . . . . . . . . . . . .
Разработайте несложную диагностическую систему для заключительных
компоновок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26
26
27
31
32
33
34
38
41
44
48
56

VI

Оглавление

Частые сборки программы и дымовые тесты обязательны . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Частые сборки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Дымовые тесты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Работу над программой установки следует начинать немедленно . . . . . . . . . . . . . . . . . . . . . .
Тестирование качества должно проводиться с отладочными компоновками . . . . . . . . .
Устанавливайте символы ОС и создайте хранилище символов . . . . . . . . . . . . . . . . . . . . . . . . . .
Исходные тексты и серверы символов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57
58
59
60
61
62
70

Глава 3

72

Отладка при кодировании

Assert, Assert, Assert и еще раз Assert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .