Frequently Asked Questions para FreeBSD 2.X : Networking : El ppp no funciona. Qué estoy haciendo mal? : Ppp produce un seg-fault, pero no veo el fichero ppp.core
Previous: Ppp ignora el carácter `\' en mi chat script
Next: El proceso que fuerza una llamada en modo auto nunca funciona

10.7.17. Ppp produce un seg-fault, pero no veo el fichero ppp.core

Ppp (o cualquier otro programa de este tipo), nunca deberían hacer un core dump. Por que ppp funciona con un id de usuario 0, el sistema operativo no escribirá la imagen del core en disco. Si ppp termina con errores de "segmentation violation" o cualquier otra señal que normalmente causa un core dumped, y quieres poder hacer un debug de ese core, asegúrate de usar la última versión de ppp, y haz lo siguiente:

          $ tar xfz ppp-*.src.tar.gz
          $ cd ppp*/ppp
          $ echo STRIP= >>Makefile
          $ echo CFLAGS+=-g >>Makefile
          $ make clean all
          $ su
          # make install
          # chmod 555 /usr/sbin/ppp
        

Ahora tendrás instalada una versión "debuggable" de ppp. Tendrás que ser root para poder ejecutar ppp ya que todos sus privilegios han sido revocados. Cuando arranques ppp, acuerdate del directorio en el que te encuentras.

Ahora, cuando ppp recibe una violación de segmentación , creará un fichero core llamado ppp.core. A continuación , deberías hacer lo siguiente:

          $ su
          # gdb /usr/sbin/ppp ppp.core
          (gdb) bt
          .....
          (gdb) f 0
          .....
          (gdb) i args
          .....
          (gdb) l
          .....
        

Toda esta información puede hacer posible diagnosticar el problema. Si estás familiarizado con gdb, puedes encontrar otras pistas como que causó el dump y las direcciones y valores de las variables más relevantes.


Frequently Asked Questions para FreeBSD 2.X : Networking : El ppp no funciona. Qué estoy haciendo mal? : Ppp produce un seg-fault, pero no veo el fichero ppp.core
Previous: Ppp ignora el carácter `\' en mi chat script
Next: El proceso que fuerza una llamada en modo auto nunca funciona