¿Es posible rastrear cualquier operación de lectura y escritura desde una computadora?

Es posible, sin embargo, necesita hardware externo y mucho tiempo.

LAUTERBACH – debugger_x86.pdf es un dispositivo de este tipo.

La trampa de un solo paso funciona al generar una excepción después de completar cada instrucción. El uso habitual de esa trampa es que su depurador detecta esta excepción y le permite mirar las cosas antes de “pasar” por la siguiente instrucción.

Si está pensando en hacer esto para el rastreo, haciendo un registro detallado de lo que está haciendo su código, su rastreador / depurador será invocado como un manejador de excepciones, registre lo que quiera registrar y luego descarte la excepción – repita . Espero que esto disminuya la tasa de ejecución del código que está rastreando en un factor de uno a varios cientos … al menos.

¿Qué tan lenta es la función de depuración de un solo paso x86?

Lecturas adicionales – registro de depuración x86 – Wikipedia

Depende del sistema operativo y de las capacidades de auditoría implementadas.

Ya se ha hecho antes. En un sistema con el que trabajé (en 1991), se activó la auditoría completa … durante unos 10 minutos. En un sistema con poca carga, registró 17 MB / segundo de actividad.

Los sistemas actuales son más rápidos ahora … NADIE registra activamente esa cantidad de datos ya que los requisitos de E / S para dicha auditoría exceden la capacidad de la instalación de E / S de los sistemas.

Ahora, puede hacerlo para sistemas muy pequeños, por períodos cortos. Pero dependerá del sistema implementarlo.

¿En computadoras modernas? De ninguna manera. Las CPU modernas se miden en Gigaflops y realizan miles de millones de operaciones de lectura y escritura por segundo. No podría registrar esos datos sin ralentizar la máquina hasta una parada casi completa. Además, creo que necesitaría una intercepción de hardware para capturar los datos de lectura y escritura, ya que no puede realizar la operación de lectura y escritura y grabarla al mismo tiempo en la misma interfaz.