¿Cómo leería un depurador en Linux/Windows el registro PC en ARM32 y Aarch64?
¿Cómo leería un depurador ejecutándose en Linux/Windows el registro PC en ARM32 y Aarch64?
¿Cómo acceder al valor del registro de instrucción?
¿Cómo utilizar ptrace
para recuperar el registro PC de un proceso secundario en Linux?
¿Cómo utilizar GetThreadContext
para recuperar el registro PC de la estructura de contexto de un proceso secundario en Windows?
davy.ai
Leyendo el Registro PC en ARM32 y Aarch64
Para leer el registro PC en ARM32 y Aarch64, un depurador que se ejecuta en Linux o Windows puede utilizar diferentes métodos dependiendo de la plataforma.
Leyendo el Registro PC en ARM32
Para acceder al Valor del Registro de Instrucción en ARM32, el depurador puede utilizar la llamada al sistema ptrace en Linux. Esta llamada al sistema permite el rastreo de un proceso hijo y puede recuperar su contexto, incluido el valor del registro PC. El siguiente fragmento de código muestra un ejemplo de uso de ptrace para recuperar el registro PC de un proceso hijo:
En Windows, un depurador puede utilizar la función GetThreadContext para recuperar el registro PC desde la estructura de contexto de un proceso hijo. El siguiente fragmento de código muestra un ejemplo de uso de GetThreadContext para recuperar el registro PC desde una estructura de contexto:
Leyendo el Registro PC en Aarch64
Para acceder al Valor del Registro de Instrucción en Aarch64, el depurador también puede utilizar la llamada al sistema ptrace en Linux. Sin embargo, el valor del registro PC se almacena en una ubicación diferente en la estructura de contexto de usuario. El siguiente fragmento de código muestra un ejemplo de uso de ptrace para recuperar el registro PC de un proceso hijo en Aarch64:
En Windows, un depurador también puede utilizar la función GetThreadContext, pero el registro PC se almacena en un campo diferente de la estructura de contexto. El siguiente fragmento de código muestra un ejemplo de uso de GetThreadContext para recuperar el registro PC desde una estructura de contexto en Aarch64:
En resumen, para leer el registro PC en ARM32 y Aarch64, un depurador que se ejecuta en Linux o Windows puede utilizar ptrace en Linux o GetThreadContext en Windows para recuperar el valor de la estructura de contexto de usuario de un proceso hijo.</windows.h></windows.h>