Sto cercando di automatizzare una sessione gdb usando il flag --command . Sto cercando di impostare un punto di interruzione su una funzione in una libreria condivisa (l’equivalente Unix di una DLL). Il mio cmds.gdb ha questo aspetto:
set args /home/shlomi/conf/bugs/kde/font-break.txt b IA__FcFontMatch r
shlomi: ~ / progs / bugs-external / kde / font-breaking $ gdb --command = cmds.gdb ...
GNU gdb 6.8-2mdv2009.0 (Mandriva Linux release 2009.0)
Copyright (C) 2008 Free Software Foundation, Inc.
Licenza GPLv3 +: GNU GPL versione 3 o successiva
Questo è software libero: sei libero di cambiarlo e ridistribuirlo.
Non c'è NESSUNA GARANZIA, nella misura consentita dalla legge. Digita "mostra copia"
e "mostra garanzia" per i dettagli.
Questo GDB è stato configurato come "i586-mandriva-linux-gnu" ...
(nessun simbolo di debug trovato)
Funzione "IA__FcFontMatch" non definita.
Rendere il punto di interruzione sospeso sul carico futuro della libreria condivisa? (y o [n]) [rispose N; input non dal terminale]
Quindi non imposta il punto di interruzione dopo tutto. Come posso rendere predefinita la risposta a “y” per impostare i breakpoint su un carico di libreria condivisa in attesa?
Ricordo che ero in grado di fare qualcosa, ma non ricordo cosa.
Rispondendo a me stesso, vorrei dare la risposta che qualcuno mi ha dato su IRC:
(gdb) apropos in sospeso
azioni - Specificare le azioni da intraprendere in un punto di tracciamento
set breakpoint - Impostazioni specifiche del punto di interruzione
set breakpoint in sospeso: imposta il comportamento del debugger rispetto ai breakpoint in sospeso
show breakpoint - Impostazioni specifiche del punto di interruzione
show breakpoint in sospeso: mostra il comportamento del debugger relativo ai breakpoint in sospeso
E così impostare il breakpoint in sospeso fa il trucco; è usato in cmds.gdb come ad es
set breakpoint pending on break :
OT: In terminale sembrerebbe questo per eseguire il debug di Caja in una riga: