Re[5]: How to use debug registers?
От: Геннадий Майко США  
Дата: 10.10.03 18:18
Оценка:
Здравствуйте, finist_, Вы писали:


ГМ>>Можно, наверное, запомнить информацию о процессе/потоке перед установкой watchpoint и затем, при ее срабатывании, дополнительно сравнивать ее с информацией о текущем процессе/потоке.


_>--

_>Интересная идея, спасибо... Боюсь только, что это сравнение может прилично приуменьшить ускорение от использования аппаратных watchpoint'ов, но это нужно проверить.
--
Насколько я понял, для того, чтобы останавливаться в заданном потоке, достаточно только запомнить и сравнивать содержимое регистра FS. Если нужно останавливаться для всех потоков процесса, то из этого thread information block наверняка можно быстро получить информацию и идентификатооре процесса (но у меня нет сейчас под руками соответствующей информации, чтобы это проверить).



Вы не подскажете, как повесить обработчик прерывания переключения процессов? На свой процесс я умею вешать — просто выставляешь регистры, а потом ловишь прерывание в __except блоке. А чужие переключения как отлавливать? Особенно тот момент, когда вновь включается отлаживаемый процесс в работу...
--
Увы, не подскажу.


_>С уважением,

_>Константин.

--
С уважением,
Геннадий Майко.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.