Estoy intentando automatizar una sesión de gdb usando la --command
bandera. Estoy tratando de establecer un punto de interrupción en una función en una biblioteca compartida (el equivalente en Unix de una DLL). Mi cmds.gdb se ve así:
set args /home/shlomi/conf/bugs/kde/font-break.txt
b IA__FcFontMatch
r
Sin embargo, obtengo lo siguiente:
shlomi: ~ / progs / bugs-external / kde / font-breaking $ gdb --comando = cmds.gdb ... GNU gdb 6.8-2mdv2009.0 (versión de Mandriva Linux 2009.0) Copyright (C) 2008 Free Software Foundation, Inc. Licencia GPLv3 +: GNU GPL versión 3 o posterior Este es un software gratuito: puede cambiarlo y redistribuirlo. NO HAY GARANTÍA, en la medida permitida por la ley. Escriba "mostrar copia" y "mostrar garantía" para obtener más detalles. Este GDB se configuró como "i586-mandriva-linux-gnu" ... (no se encontraron símbolos de depuración) Función "IA__FcFontMatch" no definida. ¿Hacer que el punto de interrupción esté pendiente en la futura carga de la biblioteca compartida? (y o [n]) [respondió N; entrada no desde terminal]
Entonces, después de todo, no establece el punto de ruptura. ¿Cómo puedo hacer que la respuesta predeterminada sea "y" para establecer puntos de interrupción en la carga de la biblioteca compartida futura pendiente?
Recuerdo que pude hacer algo, pero no recuerdo qué.
Respuestas:
Respondiéndome a mí mismo, me gustaría dar la respuesta que alguien me dio en IRC:
Y así establecer un punto de interrupción pendiente de hacer el truco; se usa
cmds.gdb
como por ejemplofuente
Program received signal SIGILL, Illegal instruction
. Estoy obteniendo puntos de interrupción de un archivo y lo he hecho,set breakpoint pending on
ya que algunos de mis puntos de interrupción están en una biblioteca que carga el programa. Si agrego puntos de interrupción manualmente, no hay ningún error. ¿Alguien más enfrenta un problema similar?OT: En la terminal, se vería así depurar Caja en una línea:
fuente
-ex
no funcionó para mí. Tuve que poner los comandos en un archivo tmp y llamar con:gdb -x /tmp/gdb.commands myexecutible
Sin símbolos.
fuente