Кент Рейсдорф. BORLAND C++BUILDER. Раздел 3

Кент Рейсдорф. BORLAND C++BUILDER. Страница 321

Другая, менее часто используемая команда отладки — Trace То Next Source Line (Трассировка до следующей строки исходного кода) (Shift+F7 на клавиатуре). Вы тоже, вероятно, не будете активно пользоваться этой ко­мандой, пока не освоите как следует отладку и не приобретете опыт про­граммирования в Windows. Некоторые функции API Windows используют функции обратного вызова (callback function). Это означает, что функция Windows вызывает одну из ваших функций для выполнения некоторого дей­ствия. Если точка выполнения находится на вызове функции API Windows, которая использует функцию обратного вызова, то команда Trace То Next

Source Line переведет точку выполнения к первой строке функции обратного вызова. Результат этой команды похож на результат команды Trace Into, но конкретная ситуация, в которой используется Trace То Next Source Line, в целом отличается. Если сказанное не имело для вас особого смысла, не нужно беспокоиться. Это не требуется для понимания того, о чем вы должны сегодня узнать.

Как я уже сказал, пошаговое выполнение кода — это основная методика отладки, которую вы будете постоянно использовать. Из всех сочетаний кла­виш, доступных вам в C++Builder, F7 и F8 должны обязательно быть в вашем арсенале.

Методика отладки

Я уже коснулся методов отладки, когда мы рассматривали различные возможности отладчика IDE. Здесь мы рассмотрим еще несколько методов, упрощающих отладку ваших программ.

Диагностические макросы: TRACE и WARN

Иногда полезно проследить выполнение своей программы. Например, было бы хорошо иметь регистрационный файл, в который бы заносились определенные события, например, вызов вашей программой некоторых функ­ций. Или вы можете захотеть занести в регистрационный файл значение переменной, чтобы проверить его без остановки программы в контрольной точке. Именно это позволяют сделать диагностические макросы TRACE и WARN. Эти макросы являются удобными средствами отладки, которые, из-за разрозненности документации и недостаточного внимания к данной теме, упускают из виду многие программисты.

Web-дизайн (с) 2010 All rights reserved