Кент Рейсдорф. BORLAND C++BUILDER. Раздел 3
Кент Рейсдорф. BORLAND C++BUILDER. Страница 325
GPF по завершении программы
Возникновение GPF при нормальном завершении программы обычно является индикатором того, что установлен слишком малый размер стека. Хотя это и маловероятно для 32-разрядной программы, но при определенных обстоятельствах может произойти. Причиной GPF по завершении программы может также быть повторное удаление указателя, о чем я говорил выше.
В дополнение ко многим советам, приведенным на предыдущих страницах, вам могут пригодиться и некоторые из следующих:
? Для быстрого просмотра переменной без установки контрольной точки, измените свойство Caption формы, чтобы выводить в него значение интересующей вас переменной. Другой способ заключается в том, чтобы поместить в форму компонент Label, поскольку это очень просто сделать. Измените текст метки таким образом, чтобы показать значение переменной или любую другую информацию, которую вы сочтете нужной при отладке.
? Чтобы временно замедлить выполнение своей программы (например, для просмотра эффектов программы в замедленном темпе), установите условную контрольную точку или контрольную точку, отслеживающую данные. Эти контрольные точки замедляют выполнение программы, поскольку в них проверяется условие останова.
? Во время выполнения программы пользуйтесь диалоговым окном Evaluate/Modify, чтобы временно изменять значение переменной. Это позволит вам увидеть, как влияют на поведение программы различные значения без многократной перекомпиляции кода.
? Обычно вы не можете использовать команду Trace Into с функциями типа inline. Чтобы получить возможность трассировки этих функций, включите опцию Disable Inline Expansion (Запретить подстановку). Выключите эту опцию перед окончательным построением программы.