RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Watcom C + Debuger


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : VicTor
To : Sanych
Subj : Watcom C + Debuger

В своё время я пришёл к выводу о практической невозможности использования дебаггера для отладки pm-приложений "в лобовую". Сейчас уже всё не помню, но главное то, что:

1). установка точки останова в обработчиках некоторых сообщений приводит к зависанию PM (особенно это касается сообщений, посылаемых методом send, и сообщений, обработчики которых захватывают ps - WM_PAINT, например)
2). значения данных на момент просмотра в отладчике могут отличаться от реальных значений на момент останова. Ведь отлаживаемое окно всё равно продолжает получать сообщения от PM - например, простое переключение с отлаживаемого окна на окно отладчика приведёт к тому, что отлаживаемое окно получит и обработает пачку из 12 сообщений, при чём часть из них генерируется при дефолтной обработке предыдущего сообщения (отмечены ***), а одно, с кодом 0xE, недокументировано (я, например, в хидерах ничего не нашёл):

WM_FOCUSCHANGE
*** WM_ADJUSTWINDOWPOS
*** WM_ADJUSTFRAMEPOS
*** WM_WINDOWPOSCHANGED
*** WM_SETFOCUS
*** WM_SETSELECTION
*** WM_ACTIVATE Mp1=FALSE Mp2=(HWND)
*** WM_QUERYFOCUSCHAIN Mp1=QFC_NEXTINCHAIN
WM_QUERYFOCUSCHAIN Mp1=QFC_ACTIVE
WM_QUERYFOCUSCHAIN Mp1=QFC_PARTOFCHAIN
*** WM_QUERYFOCUSCHAIN Mp1=QFC_NEXTINCHAIN
0xE

Собственно говоря, это и было поводом к написанию этой статеечки hello.html


Sun 04 Jun 2006 09:52 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.4) Gecko/2003062




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.