Initial directory structure.
Inicio el repo
Comienzos de locura intralenguajes
Primer intento de hackear una funcion, sin exito
Hackeo de funcion rand exitoso, corriendo codigo compilado en c++, que usa una funcion de c que es prelodeada, todo a partir de codigo python........si
Hackeo de fork exitoso. Es invisible, es decir llama al original, hace un print (aca iria el sleep/wait/loquesea) y sigue como un fork normal :D
Comienzo de intento de mapeo de un proceso corriendo gdb a una gui con un cuadro de texto. De momento solo el cuadro de texto :P
Resulta que hacer la gui-consola es mas feo de lo que pense, ya consegui dirigir el stdout a un cuadro de texto, redirigir la entrada de momento no anda.
Terminal funcional en la gui. Por default se inicia con gdb y el archivo que se le pase al constructor.
Cambio el ld_preload para solo el target, ademas comienzo la mensajeria del lado del fork
Imported the IPC code from https://github.com/eldipa/ipc
Removed a temp file
Primer intento de spawmer de procesos, de momento se traba cuando tiene que mostrar una segunda ventana. Pareciera como que no llega a leer el pid de la cola de mensajes.
Prueba que esto bloquea....
Agregado el unlock (y lock) del GIL para que si un thread es bloqueado por la cola, este no bloque al resto del proceso.
OK, gracias al thread no bloqueante tengo al fin  un avance. Al llamarse un fork, se instancia un nuevo gdb con su nueva pantallita. Lo malo es que le mando el ack al proceso nuevo antes que el gdb se atachee por lo que no lo encuentra..... detalles
Bue, con algunos parches, pero la idea funciona. De momento arregle el inicio del attach con un sleep.... y parece que va a ser necesario iniciar con sudo, o modificar una variable como puse en la wiki.
El ejemplo de c++ dado, si lo ejecutas a solas (por consola) en un momento dado muere y no sabes por que. Si lo ejecutas por gdb, mas o menos lo mismo. Si lo ejecutas con nuestro flamante CGDB, en la ventana del proceso hijo se ve que el maldito tira un segfault y podes ver la linea exacta :D (el segfault lo tiro a lo bestia)