2011-07-01 7 views
35

Mi programa tiene un problema de violación de segmento, pero los fallos rara vez (una vez en 20 veces o más), y para depurarlo en GDB, tengo que volver a ejecutar el programa manualmente hasta que se produzca el fallo de segmentación (durante un día y medio de repeticiones solamente una vez que se produce un error :().¿Cómo puedo volver a ejecutar un programa con gdb hasta que se produce un error de segmentación?

así que la pregunta es, ¿hay alguna manera de decirle al BGF para volver a ejecutar el programa hasta que un error de segmentación?

Respuesta

49

deja un punto de interrupción en la salida de su programa que activa el comando run, y no se olvide set pagination off la información sobre la configuración de los comandos está disponible en la sección de la documentación Breakpoint Command Lists gDB en pocas palabras:..

set pagination off 
break exit 
commands 
run 
end 

Después de la línea commands verá que las dos líneas siguientes se introducen como el comando a ejecutar cuando se alcanza el punto de interrupción.

+11

Deja un punto de interrupción en la función de salida "comandos de salida descanso de fin de carrera" :) – MKo

+0

Esto funciona en mi caso, pero corre 5 veces y luego tengo que presionar retorno a continuar, y se ejecuta otro 5 veces. Es esto usual? –

+3

la respuesta parece ser "configurar la paginación desactivada" en gdb – fijal

Cuestiones relacionadas