¿Cómo consigo que el depurador bash funcione con ddd?

9

ddd script.bsh no abre el script. Muestra un vaso nuestro y si quiero cerrar ddd, dice "bash is busy" ...

Encontré un viejo mensaje, pero no ayudó. https://lists.gnu.org/archive/html/ddd/2008-10/msg00006.html

No pude encontrar ddd-3.3.12-test6.tar.gz, por lo tanto, estoy usando la versión ddd del repositorio de ubuntu. También bashdb ya está instalado. Usó apt-get install ddd bashdb.

¿Alguien puede usar ddd para bash en Precise?

James Mitch
fuente

Respuestas:

7

Pude obtener dddy bashdbjugar bien en Ubuntu 12.04 hoy:

  1. Retire el repositorio suministrado ddd:

    sudo apt-get remove ddd
  2. Fetch dddv3.3.9 e instalar desde el código fuente, por ejemplo:

    sudo apt-get build-dep ddd
    sudo apt-get install libmotif-dev
    wget http://ftp.gnu.org/gnu/ddd/ddd-3.3.9.tar.gz
    tar xvf ddd-3.3.9.tar.gz
    cd ddd-3.3.9
    ./configure
    make
    sudo make install

    Nota: Tuve que hacer un solo parche en el código fuente para que la compilación funcionara ddd/strclass.C, necesitábamos un #include <stdio.h>; en la parte superior para definir EOF.

  3. Asegúrese de que bashdbesté instalado:

    sudo apt-get install bashdb
  4. Lanzamiento con:

    ddd --debugger /usr/bin/bashdb -- {script name} {parameters}

No podría vivir sin ddd + Bash.

Opcional: verificación gpg:

La búsqueda de inicio de sesión en https://www.gnu.org/software/ddd/ redirigirá a https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=ddd

  1. Descargar ddd-keyring.gpg.

  2. Importarlo en su llavero:

    gpg --import ddd-keyring.gpg
  3. Verificar la firma:

    wget http://ftp.gnu.org/gnu/ddd/ddd-3.3.9.tar.gz.sig
    gpg --verify
Stabledog
fuente
1
Funciona en Ubuntu 16.04
Erasmus Cedernaes
4

Para dddtrabajar con el depurador bash en los scripts bash, también es necesario instalarlo bashdb.

Si no está instalado, obtienes:

ingrese la descripción de la imagen aquí

Después, dddparece funcionar normalmente:

ingrese la descripción de la imagen aquí

ish
fuente
bashdb ya está instalado y funcionando. ¿Conseguiste ejecutar ddd con precisión?
James Mitch
@JamesMitch, sí, estoy en Precise 12.04 (64 bits, sin embargo).
ish
1
¿Realmente probaste pasar por un script bash? Arranqué el DVD Precise 12.04 de 64 bits, instalé ddd y bashdb y aún no podía abrir un script bash sin ver el reloj de arena.
James Mitch
1
Detalles adicionales aquí: askubuntu.com/a/178692/73165
Stabledog
1
Solo seguí tus instrucciones el 12.04 / 64. Casi funciona. Después de que bashdb carga el script, hago clic en "paso" y entro en una espera infinita para que bash termine de comenzar. Sugerencias?
Wes Miller
1

Esta es una regresión introducida en DDD 3.3.12, vea el error # 41649 .

La última versión utilizable es 3.3.11.

Bajo
fuente
1
Su informe de error es de abril de 2014. La pregunta del OP es de junio de 2012.
WinEunuuchs2Unix
He comprobado las cuatro versiones de 3.3.9 a 3.3.12. Definitivamente hay una regresión introducida en 3.3.12 (han realizado muchos cambios relacionados con remake, bashdby pydb). Y 3.3.12 se lanzó en 2009, por lo que hay muchas posibilidades de que el OP ejecute esta misma versión.
Bajo
OK, pero este es el año 2018. Una respuesta fue escrita y aceptada en 2012. Además, la respuesta recibió 4 votos positivos. El OP no se ha registrado en más de cinco años y es poco probable que comente su respuesta.
WinEunuuchs2Unix
@ WinEunuuchs2Unix De acuerdo, tal vez la mía sea la respuesta a una pregunta ligeramente diferente, pero esta página aparece en el top 10 de Google para aquellos que buscan la respuesta a "por qué la bashdbintegración no funciona". Así que no espero ningún comentario o voto a favor, solo acumulando el conocimiento.
Bass