Как заставить отладчик bash работать с DDD?

9

DDD script.bsh не открывает скрипт. Он показывает наш стакан, и если я хочу закрыть DDD, он говорит: "Bash занят" ...

Я нашел старое сообщение, но это не помогло. https://lists.gnu.org/archive/html/ddd/2008-10/msg00006.html

Я не смог найти ddd-3.3.12-test6.tar.gz, поэтому я использую версию DDD из репозитория Ubuntu. Также bashdb уже установлен. Использовал apt-get install ddd bashdb.

Кто-нибудь может использовать DDD для Bash на Precise?

Джеймс Митч
источник

Ответы:

7

Я был в состоянии получить dddи bashdbиграть хорошо на Ubuntu 12.04 сегодня:

  1. Удалить поставку репо ddd:

    sudo apt-get remove ddd
  2. Fetch dddv3.3.9 и установить из источника, например:

    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

    Примечание: мне пришлось сделать один патч к исходному коду, чтобы заставить сборку работать - ddd/strclass.Cнам понадобился a #include <stdio.h>; наверху, чтобы определить EOF.

  3. Убедитесь, что bashdbустановлено:

    sudo apt-get install bashdb
  4. Запустите с:

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

Не мог жить без ДДД + Баш.

Дополнительно: проверка gpg:

Поиск знака на https://www.gnu.org/software/ddd/ перенаправит на https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=ddd.

  1. Скачать ddd-keyring.gpg.

  2. Импортируйте его в свою цепочку ключей:

    gpg --import ddd-keyring.gpg
  3. Проверьте подпись:

    wget http://ftp.gnu.org/gnu/ddd/ddd-3.3.9.tar.gz.sig
    gpg --verify
Stabledog
источник
1
Работает над Ubuntu 16.04
Erasmus Cedernaes
4

Чтобы начать dddработать с bash-отладчиком над bash-скриптами, необходимо также установить bashdb.

Если он не установлен, вы получите:

введите описание изображения здесь

После этого, dddкажется, работает нормально:

введите описание изображения здесь

иш
источник
bashdb уже установлен и работает. У тебя ddd работает точно?
Джеймс Митч
@JamesMitch, да, я на Precise 12.04 (хотя и 64-битный).
Иш
1
Вы действительно тестировали пошаговый скрипт bash? Я загрузил 64-битный DVD Precise 12.04, установил ddd и bashdb и все еще не мог открыть скрипт bash, не увидев песочные часы.
Джеймс Митч
1
Дополнительные подробности здесь: askubuntu.com/a/178692/73165
Stabledog
1
Просто следовал вашим инструкциям 12.04/64. Почти работает. После того, как bashdb загрузит скрипт, я нажимаю «шаг» и впадаю в бесконечное ожидание окончания запуска bash. Предложения?
Уэс Миллер
1

Это регрессия, введенная в DDD 3.3.12, см. Ошибку # 41649 .

Последняя используемая версия - 3.3.11.

бас
источник
1
Ваш отчет об ошибке с апреля 2014 года. Вопрос ОП - с июня 2012 года.
WinEunuuchs2Unix
Я проверил все четыре версии с 3.3.9 до 3.3.12. Определенно есть регрессия, введенная в 3.3.12 (они внесли много изменений, связанных с remake, bashdbи pydb). И 3.3.12 был выпущен в 2009 году, так что вполне вероятно, что OP работал именно на этой версии.
Бас
Хорошо, но это 2018 год. Ответ был написан и принят в 2012 году. Плюс ответ получил 4 положительных голоса. ОП не подписывался более пяти лет и вряд ли прокомментирует ваш ответ.
WinEunuuchs2Unix
@ WinEunuuchs2Unix Хорошо, возможно, мой ответ на несколько иной вопрос, но эта страница появляется в топ-10 Google для тех, кто ищет ответ «почему bashdbинтеграция не работает». Поэтому я не ожидаю каких-либо комментариев или комментариев, просто накапливаю знания.
Бас