2012-07-06 11 views
15

Uso gdb para depurar mi código cpp. que establecer puntos de interrupción de esta manera:¿Cómo confirmar la acción (responder "S") en el script gdb?

(gdb) break ParseDriver.cc:60 
No source file named ParseDriver.cc. 
Make breakpoint pending on future shared library load? (y or [n]) y 
Breakpoint 1 (ParseDriver.cc:60) pending. 

Para simplificar establecer puntos de interrupción, escribí un guión GDB sencillo (llamado breakpoints.gdb), que simplemente contiene una sola línea:

break ParseDriver.cc:60 

I Fuente esto secuencia de comandos en el terminal gdb, pero falló.

(gdb) source ~/breakpoints.gdb 
No source file named ParseDriver.cc. 
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal] 

Parece que tenemos que responder Y en el script para establecer el punto de interrupción.

Entonces, ¿cómo puedo responder Y en script gdb? Gracias de antemano.

+0

posible duplicado de [gdb: cómo establecer puntos de interrupción en futuras bibliotecas compartidas con un --command flag] (http://stackoverflow.com/questions/100444/gdb-how-to-set-breakpoints-on-future -shared-libraries-with-a-command-flag) – TooTone

Respuesta

32
(gdb) set breakpoint pending on 

Esto hará que el BGF omitir pedir confirmación, cita de the docs:

Esto indica que un punto de interrupción no reconocida debe lugar automáticamente a un punto de interrupción en espera de ser creado.

1

Puede envolver su comando con set confirm off/on y GDB no solicitará confirmación.

+0

No funcionó para mí. gdb no pudo crear un punto de interrupción, pero no pidió confirmación. –

Cuestiones relacionadas