Para soportar el issue #76 se tenia que usar el modulo publish subscribe. Para poder cerrar y liberar los recursos del EventHandler dentro de GDB y cuando este finaliza, se discutio una posible solucion en el issue #82: Usar atexit de python para liberar los recursos, en especial hacer join de un hilo. Dado que Python requiere que los hilos terminen antes de llamarse a la callback de atexit, la solucion es hacer que los hilos sean daemons, liberandolos de la restriccion y permitiendo entonces que la callback de un atexit haga un join (entre otros recursos). Vease issue #82.
Dado que gdb se vuelve inestable en presencia de hilos de python (a pesar de lo discutido en el issue #82), se creo una clase Publisher que solo puede hacer publicaciones. EventHandler hereda de Publisher y la extiende para poder publicar como subscribirse a eventos y por ende, requiere de su hilo propio. Extendido ui.js para que loggue las syscalls y adaptado el plugin strace.py para que las syscalls capturadas sean publicadas como eventos. (issue #76)
Limpiado el codigo del plugin strace.py y de la parte grafica. (issue #76).
Ahora los breakpoints internos de strace.py son realmente internos. (closes #76).