tratamientos tratamiento rinitis respiratorias remedios para niños nasal descongestivo congestion caseros antihistamínico alérgica alergias alergia c gdb

tratamiento - ¿Cómo detengo la continuación en GDB?



rinitis alérgica descongestivo (3)

Aquí hay un breve tutorial de GDB , y aquí hay un manual completo de GDB .

El punto de depuración es inspeccionar partes interesantes / sospechosas del programa. Breakpoints de interrupción le permiten detener la ejecución en alguna ubicación de origen, y los watchpoints permiten detenerse cuando cambian datos interesantes.

Ejemplos simples:

(gdb) break my_function (gdb) cont

Esto insertará un punto de interrupción al comienzo de my_function , de modo que cuando la ejecución del programa ingrese a la función, el programa se suspenderá y usted recibirá un aviso de GDB y podrá inspeccionar el estado del programa . O puede step por el código.

(gdb) watch my_var (gdb) cont

Igual, pero ahora el programa se detendrá en cualquier ubicación que modifique el valor de my_var .

Enchufe descarado: aquí hay un enlace a mi presentación de GDB en NYC BSD User Group . Espero que esto ayude.

Estoy usando GDB por primera vez. Corro

$ gdb

entonces estoy corriendo

attach <mypid>

luego veo que mi proceso está atascado (lo que probablemente está bien). Ahora quiero que siga corriendo, así que corro.

continue

y mi proceso continúa en ejecución, pero desde aquí me quedo atascado si quiero volver a ver el seguimiento de mi pila actual, etc. No podía dejar de continuar ... Intenté Ctrl - D, etc. pero nada me funcionó ... (Era solo una conjetura).


Control + C en el proceso gdb debería volver al indicador de comandos.


Debes interrumpir el proceso que está adjunto por gdb. No interrumpas gdb en sí. Interrumpa el proceso por ctrl-c en el terminal en el que se inició el proceso o envíe el proceso SIGINT por kill -2 procid. Con procid se adjunta el id del proceso.