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