Ver Mensaje Individual
  #2  
Antiguo 11-04-2012
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
No dices qué sistema operativo usas, pero con GDB (el depurador de GNU) puedes depurar programas que ya estén iniciados. Para ello hay que saber el identificador del proceso. Sabiendo la posición de memoria puedes iniciar GDB, "interceptar" el proceso del servidor y poner un "break" para que cuando el proceso acceda a la posición de memoria se active y empezar a depurar. Claro que si dices que puede tirarse varios días sin salir el error pues es un problema, aunque creo que también puedes hacer que GDB avise de algún modo (al menos en sistemas POSIX, como puedes encadenar procesos como te da la gana, puedes hacer que envíe un mensaje de correo cada vez que GDB pare un proceso).

Yo GDB lo uso sólo para depuraciones simples, es decir, ejecución paso a paso, ver el contenido de variables, y poco más, así que no sé cómo se hace exactamente. Tiene muchísimas opciones y comandos.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita