Decodificación de registros de Ptrace -- linux campo con struct campo con bits campo con strace campo con ptrace camp Relacionados El problema

Decoding ptrace Registers


1
vote

problema

Español

Me pregunto dónde en los contenidos / miembros de

  `struct user_regs_struct ur`   

que se llena por una llamada a

  ptrace(PTRACE_GETREGS, pid, 0, &ur); // get registers   

Puedo extraer la información sobre si un proceso de prueba de niños trazado se encuentra actualmente ingresando o que sale . Después de que algunas prueben mi conclusión hasta el momento es que los 8 bits más bajos del miembro de estructura ax es igual a 0xda para las salidas. Sin embargo, no estoy seguro de si esta es una conclusión general correcta, así que pregunto si esto se documenta en cualquier lugar.

En las fuentes de la hoja, he encontrado que la máscara de bits se define TCB_INSYSCALL que es probablemente lo que estoy buscando, pero no puedo decodificar dónde está la fuente de la información (algunos miembros de user_regs_struct ?) se lee.

Original en ingles

I'm wondering where in the contents/members of

`struct user_regs_struct ur` 

which is filled in by a call to

ptrace(PTRACE_GETREGS, pid, 0, &ur); // get registers 

I can extract the information about whether a traced child process syscall is currently entering or exiting. After some testing my conclusion so far is that the lower 8-bits of struct member ax is equal to 0xda for exits. I'm however unsure whether this is a correct general conclusion so I'm ask whether this is documented anywhere.

In the strace sources I have found the bitmask define TCB_INSYSCALL which is probably what I'm looking for but I can't decode where the source of the information (some member of user_regs_struct?) is read.

              

Lista de respuestas


Relacionados problema

6  ¿Hay algo como Linux Ptrace Syscall en Windows XP / 2003?  ( Is there something like linux ptrace syscall in windows xp 2003 ) 
LECTECER Monitoreo de ciertas llamadas del sistema realizado por un proceso en Windows , me pregunto acerca de un equivalente de Windows a la ptrace Llam...

0  ¿Cómo obtener un proceso de memoria y tiempo de proceso?  ( How to get a process memory and time usage ) 
Estoy tratando de obtener el uso de la memoria y el tiempo de un proceso, y aquí está [mi código] Pero la memoria reportada es tanto para una aplicación tan...

6  Cómo evitar que un proceso desove a más niños  ( How to prevent a process from spawning more childs ) 
Estoy trabajando en un juez en línea para llevar a cabo ACM-ICPC como competiciones en mi universidad LAN. Para eso, necesito que el juez pueda estar lo sufic...

7  ¿Manera baja en lo alto para acceder al espacio de memoria de un proceso trazado?  ( Low overhead way to access the memory space of a traced process ) 
Estoy buscando una forma eficiente de acceder (para las operaciones de lectura y escritura) el espacio de memoria de mi proceso de hijo PTRACED. El tamaño de ...

4  ¿Hay una manera de ver el contenido del registro de un hilo de otro hilo dentro del mismo proceso?  ( Is there a way to view the register contents of one thread from another thread w ) 
Digamos que tengo un proceso que contiene tres hilos: A, B y C. Quiero usar el hilo A para pausar el hilo B, examine los valores de registro de los valores ...

6  ¿Cómo Ptrace una aplicación multi-roscada?  ( How to ptrace a multi threaded application ) 
editar (progreso hecho): Estoy tratando de hacer un demonio VSFTPD. Tengo el siguiente código que está adjuntando al demonio. Luego, muestra con éxito la PI...

11  PTRACE'ing del proceso padre  ( Ptraceing of parent process ) 
CAN PROCESO INDIVIDUAL UTILIZAR EL ptrace Llamada del sistema para rastrear a su padre? OS es Linux 2.6 gracias. UPD1: Quiero rastrear el proceso1 de ...

0  Lea las cadenas con Ptrace (Linux)  ( Read strings with ptrace linux ) 
Soy nuevo para apilar y relativamente nuevo en C. Intento leer una memoria de proceso de otro proceso con el uso de Ptrace. Hasta ahora logré leer y alterar l...

0  Waitepid en estado de espera de infitine después de Ptrace_attach  ( Waitpid in infitine wait state after ptrace attach ) 
He integrado google-breakpad en mi aplicación C ++. Ahora, estoy estrellando deliberadamente la solicitud, pero cuelga en mi sistema Ubuntu I686. Tengo que ...

6  GDB Strace muestra que intenta PTRAACE en una dirección no válida  ( Gdb strace shows it tries to ptrace at an invalid address ) 
Me encontré con dicho error al ejecutar el comando ni durante la depuración GDB: ADVERTENCIA: No se puede insertar el punto de interrupción 0. Error A...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos