· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Нестандартные сообщения для отладчика

Посл.отвђт Сообщенiе


Дата: Янв 2, 2004 02:31:25 · Поправил: Безпощадный даос

Hi All, И с новым годом!

Проблема такая. Написал отладчик под NT, который
в основном работает ужэ с бегушими процами (т.е.
DebugActiveProcess). В документации win32.hlp написано
примерно так:
После подсоединения отладчика к процу, все его нити
тормозятса, а отладчик получает разную информацию
через WaitForDebugEvent.
Один раз CREATE_PROCESS_DEBUG_EVENT, для каждой нити
(кроме системной нити отладки) CREATE_THREAD_DEBUG_EVENT,
для каждой dll'эшки LOAD_DLL_DEBUG_EVENT.

Потом написано что отладчик должен получит
EXCEPTION_DEBUG_EVENT, так как система устонавливает
breakpoint на месте продолжения главной нити.
Вот тут начинаютса страности.
На самом деле что я получаю это EXIT_THREAD_DEBUG_INFO,
потому что системная нить отладчика завершаетса.
Но предположым что всё ок. Продолжаем дальше, и нет
никакого EXCEPTION_DEBUG_EVENT.
Но отладчик работает нормально!

А на 9х всё как по книге. После всех стандартных
сообщений, получаю EXCEPTION_DEBUG_EVENT, и нет никаких сообщений
от системной нити отладчика (правда на 9х можэт и не быть такого
механизма и всё делаетса по другому, я просто не знаю).
Но потом прога завершаетса (ну здесь скорей всего я где то
сделал ошыбку в коде).

В обшем если кто то сможэт объяснить почему такие странности/разници,
и как написать код который будет совместим со обеими архитектурами... Thx.


Дата: Янв 2, 2004 04:58:37

Спасибо, что обратил мое внимание на проблему. Я очень подробно рассмотрю отладчики третьего кольца в третьей части.


Дата: Янв 2, 2004 05:47:05

merlin

Ну ты бы код привёл что-ли.
Про некоторые особенности написания отладчика 3-го кольца под NT можно прочитать у Исцелиона ;-)


Дата: Янв 2, 2004 16:20:01

volodya
Спасибо Володь.

Asterix
Ну я сейчас не начну копи-пастать километровые
листинги. :) Но с другой стороны код стандартный.
По любому, спасибо за инфу, сейчас читаю Исцелиона.


Дата: Янв 2, 2004 17:33:57

Ммм да, прочитал я Iczelion-а, и много хорошего
сказать не могу. :|
В общем все три туториала, есть почти прямое
пересказывание win32.hlp (кроме краткого объяснение
про трасирование). Ну а вообще много не точностей и ошибок. :(
Лучше читать только win32.hlp, там и так всё ясно.


Дата: Янв 2, 2004 21:35:17

merlin

Я тоже писал некое подобие отладчика, но вот как-то под NT его не проверил, хотя некоторые тонкости описанные у Исцелиона учёл.
Хм.. не думал что win32.hlp содержит примеры использования Debug API, помоему там кроме их описалова и также описалова струтур ничего подчерпнуть нельзя...


Дата: Янв 2, 2004 21:37:43

MSDN


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.239