Кент Рейсдорф. 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. Эти макросы являются удобными средствами отладки, которые, из-за разрозненности документации и недостаточного внимания к данной теме, упускают из виду многие программисты.