sisoputnfrba / so-commons-library

TADs de uso comun en aplicaciones desarrolladas en C
http://sisoputnfrba.github.io/so-commons-library/
GNU General Public License v3.0
106 stars 173 forks source link

Info de debug? #68

Open mgarciaisaia opened 9 years ago

mgarciaisaia commented 9 years ago

Podría ser útil tener opciones para entender mejor el funcionamiento de la biblioteca.

Para las colecciones, por ejemplo, funciones del estilo list_inspect para mostrar el estado interno de la lista (mostrar algo como [0xb0cacaca, 0xcafebabe, 0x51f42152], que represente la lista de punteros), y alguna opción global de la biblioteca para habilitar un modo DEBUG en el que se impriman por stderr mensajes como "Adding element 0x135262f1 to list 0xab225252" en cada operación "relevante".

Es muy experimental todo, y medio bizarro, pero podría ayudar a entender algunos errores frecuentes en el uso de la biblioteca.

Viene de acá

CC: @gastonprieto

RaniAgus commented 3 years ago

Retomando la idea del modo DEBUG, se podría implementar usando herramientas de Valgrind como VALGRIND_PRINTF_STACKTRACE: https://blog.mozilla.org/nnethercote/2011/01/11/using-valgrind-to-get-stack-traces/

De esta forma, si uno está debugeando con Valgrind puede obtener toda la info, mientras que en una ejecución normal simplemente se ocultan.

gastonprieto commented 3 years ago

Acá tengo sentimientos encontrados :P

Así que si uds creen que va a servir, denle para adelante. Si es para algo global, tal vez con una macro se puede resolver. Sino lo de la función creo que va.