Подскажите, есть ли в природе такой зверь? Т.е. эмулятор x86, под которым можно было бы запустить отлаживаемую программу, и, например, вызывать некий свой обработчик после выполнения каждой инструкции отлаживаемой программы. Например, для сбора статистики по графу потока управления, значений регистров и т.п. Использующий аппаратную трассировку? Полностью программный?
Напиши свой. Нафиг кому нужны прибамбасы вроде как показать список процессов в SoftICE, пусть это будет просто гипервизор с возможностью писать свои каллбеки на асме, например после каждой инструкции, с возможность писать данные в управляющий процесс. Правда, не уверен что это можно продать, но можно продать труд, используемый таким отладчиком, так что идея отличная.
scf С уверенностью могу сказать что есть и не один. Только вот ни исходников ни сам эмулятор из природы вы не скачаете. Freeman Юзать можно, но для задачи описаной выше прийдется переписать сам BOCHS.
scf Этому удовлетворяет любой трассировщик с логированием. OllyDbg более чем подходит. Начиная со второй версии в Olly используется эмуляция многих инструкций, что приводит к серьёзному ускорению логирующей трассировки. Более старые версии используют чисто аппаратную. В более общем случае, т.е. если Ваши цели шире указанных, вполне подойдёт минимальный скриптик для плагина OllyScript. P.S. Что тут остальные уважаемые участники навыдумывали, не понимаю.
spa А с чего бы и нет? В случае трассировки через TF пока обработка исключения из ядра доберётся до обработчика юзермодного отладчика, проходит нехилая куча времени. Не удивительно. ИМХО интереснее то, что согласно истории обновлений трассировка может быть даже быстрее свободного пробега по коду без трассировки.