Se menciona en http://sourceware.org/ml/gdb/2007-06/msg00360.html antes.
Pero nadie parecía haber implementado realmente este tipo de idea.
¿Hay algún obstáculo para hacer esto?¿Alguien sabe si alguien había integrado libsegfault.so y gdbserver para poder adjuntar gdb sobre la marcha a un programa bloqueado?
Mis requisitos son los siguientes: (Ej. Mediante el uso de LD_PRELOAD)
- Ser capaz de plug-in a cualquier ejecutable binario ELF
- El binario puede ser un multiproceso ejecutable
- El binario puede enlazar a una biblioteca que contiene la función del principal
- Esto debería funcionar en diversos arquitectura de la CPU que no sea x86 (MIPS, ARM, PPC al menos)
Entonces, si ya hay una solución como esta, quería un enlace, pero si aún no lo he hecho, quería saber por qué aún no está implementado como una rueda.
Podría ser que nadie no lo necesitaba ... pero creo que esto es bastante útil para prepararse como estándar.
Cualquier cuestión técnica o política que no sea solo juntar el código es necesario.
Si ya tiene un archivo de núcleo violación de segmento, se puede conectar el GDB o gdbserver en el fichero de núcleo y obtener la información de depuración. Si no lo hace pero sabe cómo reproducir el bloqueo, puede conectar el pid y verlo segfault. ¿Cómo/qué es esto para ayudar a la depuración? –
Supongo que la idea es que no tengas que cargar gdb [servidor] hasta que el programa realmente se cuelgue, y que mirar una imagen en vivo puede ser más esclarecedor que solo un volcado del núcleo. (No estoy de acuerdo, pero puedo entender el sentimiento.) Más problemáticamente, la ** pregunta ** pregunta "¿es esto posible?" pero OP parece ** esperar ** una solución completa ... – ephemient