Bash hata ayıklayıcısının ddd ile çalışmasını nasıl sağlayabilirim?


9

ddd script.bsh komut dosyasını açmaz. Bizim cam gösterir ve ddd kapatmak istiyorsanız, "bash meşgul" diyor ...

Eski bir mesaj buldum, ama yardımcı olmadı. https://lists.gnu.org/archive/html/ddd/2008-10/msg00006.html

Ben ddd-3.3.12-test6.tar.gz bulamadım, bu yüzden ubuntu deposundan ddd sürümünü kullanıyorum. Ayrıca bashdb zaten kurulu. Kullanılan apt-get install ddd bashdb.

Precise on bash için ddd kullanabilen var mı?

Yanıtlar:


7

Elde edebildi dddve bashdbUbuntu 12.04 bugün güzel oynamak için:

  1. Repo tarafından sağlananları çıkarın ddd:

    sudo apt-get remove ddd
  2. Getirme dddv3.3.9 ve kaynaktan, örneğin yüklemek:

    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

    Not: İşe yapı elde etmek için kaynak koduna tek yama yapmak zorunda - içinde ddd/strclass.C, bir ihtiyaç #include <stdio.h>; tanımlayın EOF.

  3. bashdbYüklü olduğundan emin olun :

    sudo apt-get install bashdb
  4. Şununla başlat:

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

DDD + Bash olmadan yaşayamadım.

İsteğe bağlı: gpg doğrulaması:

Üzerinde işareti ara https://www.gnu.org/software/ddd/ yönlendirme yapacağı https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=ddd

  1. İndirin ddd-keyring.gpg.

  2. Anahtar zincirinize aktarın:

    gpg --import ddd-keyring.gpg
  3. İmzayı doğrulayın:

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

1
Ubuntu üzerinde çalışıyor 16.04
Erasmus Cedernaes

4

Almak için dddbash komut üzerine Bash hata ayıklayıcı ile çalışmalarına, bu yüklemek için gerekli olduğunu bashdbda.

Yüklü değilse, şunları elde edersiniz:

resim açıklamasını buraya girin

Daha sonra dddnormal çalışıyor gibi görünüyor:

resim açıklamasını buraya girin


bashdb zaten kurulu ve çalışıyor. Ddd'nin tam olarak çalışmasını sağladınız mı?
James Mitch

@ JamesMitch, evet, Precise 12.04 kullanıyorum (64 bit olsa da).
ish

1
Bir bash betiği adım adım test etmeyi gerçekten denediniz mi? Precise 12.04 64 bit DVD'yi başlattım, ddd ve bashdb'yi yükledim ve hala kum saatini görmeden bir bash betiği açamadım.
James Mitch

1
Ek ayrıntılar burada: askubuntu.com/a/178692/73165
Stabledog

1
Sadece 12.04 / 64'deki talimatlarınızı takip edin. Neredeyse işe yarıyor. Bashdb betiği yükledikten sonra "adım" ı tıklıyorum ve bash'ın başlamasını bitirmek için sonsuz bir beklemeye gidiyorum. Öneriler?
Wes Miller

1

Bu DDD 3.3.12'de sunulan bir gerilemedir , bakınız hata # 41649 .

Son kullanılabilir sürüm 3.3.11'dir.


1
Hata raporunuz Nisan 2014'ten. OP'nin sorusu Haziran 2012'den.
WinEunuuchs2Unix

3.3.9 ile 3.3.12 arasındaki dört sürümü de kontrol ettim. 3.3.12 tanıtılan bir gerileme tanımlık var (onlar ile ilgili bir çok değişiklik yaptık remake, bashdbve pydb). Ve 3.3.12 2009 yılında piyasaya sürüldü, bu yüzden OP'nin bu sürümü çalıştırma ihtimali oldukça yüksek.
Bass

Tamam ama bu yıl 2018. 2012 yılında bir cevap yazıldı ve kabul edildi. Ayrıca cevap 4 yukarı oy aldı. OP beş yıldan fazla bir süredir oturum açmadı ve cevabınız hakkında yorum yapması pek mümkün değil.
WinEunuuchs2Unix

@ WinEunuuchs2Unix Tamam, belki benimki biraz farklı bir sorunun cevabıdır, ancak bu sayfa " bashdbentegrasyonun neden işe yaramadığı" cevabını arayanlar için Google'ın ilk 10'unda görünür . Yani herhangi bir yorum ya da oy istemiyorum, sadece bilgiyi biriktiriyorum.
Bass
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.