На этом шаге мы начнем рассматривать отладку приложения STUpload.
Начиная с этого шага, мы изучим работу программы STUpload с помощью отладчика, научимся пользоваться окнами Variables, Watches, Call Stack и Disassembly. Также мы установим точки прерывания и исследуем их влияние на программу.
Для выполнения этого упражнения нужно запустить приложение STUpload в отладчике и остановить его, когда каркас MFC-приложения вызовет функцию CMainFrame::OnCreate(), которая вызывается до создания документов и представлений, а также до появления окна программы. Вы выполните функцию OnCreate() пошагово и увидите, как MFC-приложения начинают свою работу.
Первым делом нужно собрать отладочную версию программы, необходимую для запуска отладчика.
Рис.1. Панель инструментов Build
Рис.2. Окно Set Active Project Configuration
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
Рис.3. Функция OnCreate()
Сначала запустится отладчик, после чего начнется выполнение программы STUpload. Когда функция CMainFrame::OnCreate() получит управление, выполнение приложения остановится на строке с курсором. Отмеченная инструкция еще не начала выполняться, но будет выполнена первой после возобновления работы программы.
Рис.4. Работа отладчика (инструкция отмечена желтой стрелкой)
Хотя, как может показаться, с открывающей скобкой не связан никакой код, он тем не менее существует, что Вы и увидите в окне Disassembly.
Рис.5. Окно Disassembly
Этот код создает стек и сохраняет указатель this как локальную переменную. Чтобы вернуться к окну с исходным кодом, снова щелкните кнопку Disassembly.
На следующем шаге мы продолжим рассматривать отладку этого приложения.