иовет

Поскольку размер кучи для приложений, поддерживаемый Windows 3.1, составляет не более 64К, при разработке программ для этой платформы желательно следить за ее использованием. И даже в Windows 95 необходимо обращать внимание на распределение памяти. Если проценты для USER и GDI малы, это означает, что приложение захватывает в куче много памяти;

в этом случае нужно убедиться, что неиспользуемые ресурсы должным образом освобождаются.

Раздел System info (системная информация) файла отчета содержит информацию о версии Windows, под управлением которой работает ваша программа, информацию процессора, размер наибольшего свободного блока памяти, общий размер линейной памяти, размер свободного участка линейной памяти и размер страниц файла подкачки.

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

h08741.jpg

USER Free 90% GDI Free 89%

System info:

Running in enhanced mode under Windows 3.95 retail version

CPU: 80486

Largest free memory block: 20819968 bytes

Total linear memory space: 52636 К

Free linear memory space : 20332 К

Swap file Pages: 13ea (20392 К)

Программа выполнялась без видимых проблем...

Листинг 30.7 содержит сокращенную распечатку подробного отчета, полученного утилитой DFA. Этот файл создан с использованием файлов Winspctr.bin и Winspctr.log.

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

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