![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
#1
|
||||
|
||||
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. |
#2
|
|||
|
|||
gracias por tu aporte, el SO es Windows
actualmente compilo en win7 y los servidores se ejecutan en winxp y win7 El problema es, una vez más, que no puedo reproducir el error... he debugeado un montón de veces y reproducido todas las situaciones que se me ocurren, pero no salta. Sería genial poder rastrear el error a partir de la dirección de memoria del código que está accediendo a ese puntero nulo, estoy tratando de inventar el "reverse debug" ![]() ![]()
__________________
http://www.qdsSoftware.com |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Debug de Delphi | Athalon | Varios | 11 | 06-12-2007 20:58:00 |
debug en delphi 7 | JoseAntonio | Varios | 5 | 27-07-2007 21:12:02 |
Debug en ActiveX | Elenita | Varios | 2 | 17-01-2006 12:06:24 |
Problema DEBUG!!! | neon | Varios | 1 | 06-04-2005 12:36:19 |
Debug | agonzalez | Varios | 16 | 02-07-2004 16:42:07 |
![]() |
|