Турбо отладчик (Turbo Debugger) 3.0

пошаговое выполнение программы или выход


       пошаговое выполнение программы или выход из TDW.  Так как сообще-
       нием, на котором "застряла" программа, является WM_PAINT, устано-
       вите  для  TDW прерывание по сообщению WM_PAINT и снова запустите
       программу, следующим образом:
            1. Снова   войдите   в   окно  Windows  Messages  (Сообщения
               Windows),  перейдите в правую верхнюю  область,  вызовите
               локальное меню и выберите Add (Добавление).
            2. Появится блок диалога Set Message Filter (Задание фильтра
               сообщений)  с уже выбранным значением Single Message (От-
               дельное сообщение), а курсор в это время будет находиться
               в текстовом поле ввода Single Message Name (Имя отдельно-
               го  сообщения).  Введите WM_PAINT (только заглавными бук-
               вами,  иначе TDW не сможет найти соответствие),  а в  ка-


               честве действия выберите Break (Прерывание).
            3. Для запуска программы нажмите F9.
            Программа немедленно  прервется,  и  вы  окажитесь на первой
       строке WndProc.  (Чтобы получить полный  обзор  кода,  вы  должны
       очистить с экрана окно Windows Messages). Эта подпрограмма состо-
       ит из оператора switch для сообщений, специальным образом обраба-
       тываемых программой.
            Подпрограмма WndProc:
            long FAR PASCAL WndProc (HWND hWnd, unsigned Message,
                                     WORD wParam, LONG lParam)
            {
               switch(Message)
               {
                  case WM_COMMAND:
                     return DoWMCommand(wParam, hWnd);
                  case WM_LBUTTONDOWN:
                     DoLButtonDown(hWnd,lParam);
                     break;
                  case WM_LBUTTONUP:
                     DoLButtonUp(hWnd,lParam);
                     break;

       TDeb 3.0 #3-3                = 52 =
                  case WM_MOUSEMOVE:
                     DoMouseMove(hWnd,lParam);

Содержание раздела