Como faço para que o depurador bash funcione com o ddd?

9

O ddd script.bsh não abre o script. Ele mostra o nosso copo e se eu quiser fechar o ddd, ele diz "bash is busy" ...

Encontrei uma mensagem antiga, mas não ajudou. https://lists.gnu.org/archive/html/ddd/2008-10/msg00006.html

Não consegui encontrar o ddd-3.3.12-test6.tar.gz, portanto, estou usando a versão ddd no repositório do ubuntu. O bashdb também já está instalado. Usado apt-get install ddd bashdb.

Alguém pode usar o ddd para bash no Precise?

James Mitch
fonte

Respostas:

7

Consegui obter ddde bashdbjogar bem no Ubuntu 12.04 hoje:

  1. Remova o repo-fornecido ddd:

    sudo apt-get remove ddd
  2. Busque a dddv3.3.9 e instale a partir da fonte, por exemplo:

    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: Eu tive que fazer um único patch no código-fonte para que a compilação funcionasse. ddd/strclass.CPrecisávamos de um #include <stdio.h>; no topo para definir EOF.

  3. Verifique se bashdbestá instalado:

    sudo apt-get install bashdb
  4. Iniciar com:

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

Não foi possível viver sem o ddd + Bash.

Opcional: verificação de gpg:

A busca por sinal em https://www.gnu.org/software/ddd/ será redirecionada para https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=ddd

  1. Download ddd-keyring.gpg.

  2. Importe-o para o seu chaveiro:

    gpg --import ddd-keyring.gpg
  3. Verifique a assinatura:

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

Para dddtrabalhar com o depurador bash em scripts bash, é necessário instalar bashdbtambém.

Se não estiver instalado, você obtém:

insira a descrição da imagem aqui

Depois, dddparece funcionar normalmente:

insira a descrição da imagem aqui

ish
fonte
O bashdb já está instalado e funcionando. O ddd foi executado com precisão?
James Mitch
@ JamesMitch, sim, eu estou no Precise 12.04 (64 bits, no entanto).
Ish
1
Você realmente testou para passar por um script bash? Inicializei o DVD Precise 12.04 de 64 bits, instalei o ddd e o bashdb e ainda não consegui abrir um script do bash sem ver a ampulheta.
James Mitch
1
Detalhes adicionais aqui: askubuntu.com/a/178692/73165
Stabledog
1
Apenas segui suas instruções em 12.04 / 64. Quase funciona. Após o bashdb carregar o script, clico em "step" e fico em uma espera infinita para que o bash termine de iniciar. Sugestões?
Wes Miller
1

Esta é uma regressão introduzida no DDD 3.3.12, veja o bug # 41649 .

A última versão utilizável é 3.3.11.

Graves
fonte
1
Seu relatório de erros é de abril de 2014. A pergunta do OP é de junho de 2012.
WinEunuuchs2Unix 10/18/18 /
Eu verifiquei todas as quatro versões do 3.3.9 ao 3.3.12. Há definely uma regressão introduzido em 3.3.12 (eles fizeram muitas mudanças relacionadas a remake, bashdbe pydb). E o 3.3.12 foi lançado em 2009, então há uma boa chance de o OP estar executando esta versão.
Baixo
OK, mas este é o ano de 2018. Uma resposta foi escrita e aceita em 2012. Além disso, a resposta recebeu 4 votos positivos. O OP não está conectado há mais de cinco anos e é improvável que comente sua resposta.
WinEunuuchs2Unix
@ WinEunuuchs2Unix Ok, talvez a minha seja a resposta para uma pergunta um pouco diferente, mas esta página aparece no top 10 do Google para quem procura a resposta para "por que a bashdbintegração não funciona". Portanto, não estou esperando comentários ou votos positivos, apenas acumulando o conhecimento.
Baixo