Есть процесс, в него инжектируется DLL. Может ли DLL как-то получать уведомление, когда процесс создает новый поток? (Нужно при создании нового потока приостанавливать его, узнавать контекст и потом single-step'ить.) Использование отладчика нежелательно по причине производительности.
Но как потом этот же тред приостановить, взять контекст и трейсить? Нужно начать исполнение с первой инструкции нового треда.
Son of God Кроме отладчика, у тебя есть замечательная альтернатива - эмуляция кода этого потока. Насчет производительности я сомневаюсь... Если нужна быстрая трассировка - тебе надо напрямую обрабатывать прерывание int 1 из ring-0.
NoName К отладочным int 1 так-же относится. Помоему именно это прерывание используется при трассировке (не точках останова), при установленном флажке TF.