Come faccio a far funzionare il debugger bash con ddd?


9

ddd script.bsh non apre lo script. Mostra un nostro bicchiere e se voglio chiudere ddd, dice "bash è occupato" ...

Ho trovato un vecchio messaggio, ma non ha aiutato. https://lists.gnu.org/archive/html/ddd/2008-10/msg00006.html

Non sono riuscito a trovare ddd-3.3.12-test6.tar.gz, quindi sto usando la versione di ddd dal repository di Ubuntu. Anche bashdb è già installato. Usato apt-get install ddd bashdb.

Qualcuno in grado di usare ddd per bash su Precise?

Risposte:


7

Sono stato in grado di ottenere ddde bashdbgiocare bene su Ubuntu 12.04 oggi:

  1. Rimuovere il repository fornito ddd:

    sudo apt-get remove ddd
  2. Fetch dddv3.3.9 ed installare dai sorgenti, ad esempio:

    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: ho dovuto creare una singola patch al codice sorgente per far funzionare la build - in ddd/strclass.C, avevamo bisogno di un #include <stdio.h>; nella parte superiore per definire EOF.

  3. Assicurarsi che bashdbsia installato:

    sudo apt-get install bashdb
  4. Avvia con:

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

Impossibile vivere senza ddd + Bash.

Opzionale: verifica gpg:

Cerca il segno su https://www.gnu.org/software/ddd/ reindirizzerà a https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=ddd

  1. Scarica ddd-keyring.gpg.

  2. Importalo nella tua catena chiave:

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

    wget http://ftp.gnu.org/gnu/ddd/ddd-3.3.9.tar.gz.sig
    gpg --verify
    

1
Funziona su Ubuntu 16.04
Erasmus Cedernaes il

4

Per dddlavorare con il debugger bash su script bash, è necessario installare bashdbanche.

Se non è installato, ottieni:

inserisci qui la descrizione dell'immagine

Successivamente, dddsembra funzionare normalmente:

inserisci qui la descrizione dell'immagine


bashdb è già installato e funzionante. Hai avuto ddd in esecuzione su preciso?
James Mitch,

@JamesMitch, sì, sono su Precise 12.04 (64 bit, però).
ish,

1
Hai effettivamente testato per scorrere uno script bash? Ho avviato il DVD Precise 12.04 a 64 bit, ho installato ddd e bashdb e non riuscivo ancora ad aprire uno script bash senza vedere la clessidra.
James Mitch,

1
Ulteriori dettagli qui: askubuntu.com/a/178692/73165
Stabledog

1
Ho appena seguito le tue istruzioni su 12.04 / 64. Quasi funziona. Dopo che bashdb ha caricato lo script, faccio clic su "passaggio" e vado in un'infinita attesa che bash finisca di iniziare. Suggerimenti?
Wes Miller,

1

Questa è una regressione introdotta in DDD 3.3.12, vedi bug # 41649 .

L'ultima versione utilizzabile è 3.3.11.


1
La segnalazione del bug è di aprile 2014. La domanda del PO è di giugno 2012.
WinEunuuchs2Unix

Ho controllato tutte e quattro le versioni dalla 3.3.9 alla 3.3.12. C'è sicuramente una regressione introdotta in 3.3.12 (hanno apportato molte modifiche a remake, bashdbe pydb). E la 3.3.12 è stata rilasciata nel 2009, quindi ci sono buone possibilità che l'OP stesse eseguendo proprio questa versione.
Bass

OK, ma questo è l'anno 2018. Una risposta è stata scritta e accettata nel 2012. Inoltre, la risposta ha ricevuto 4 voti positivi. L'OP non ha firmato per oltre cinque anni ed è improbabile che commenti la tua risposta.
WinEunuuchs2Unix

@ WinEunuuchs2Unix Va bene, forse la mia è la risposta a una domanda leggermente diversa, ma questa pagina appare nella top 10 di Google per coloro che cercano la risposta a "perché l' bashdbintegrazione non funziona". Quindi non mi aspetto commenti o voti, sto solo accumulando le conoscenze.
Bass
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.