我如何使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,因此我使用的是ubuntu存储库中的ddd版本。另外,bashdb已经安装。使用apt-get install ddd bashdb。

任何人都可以在Precise上将ddd用于bash吗?

Answers:


7

我能得到ddd并且bashdb在Ubuntu 12.04今天发挥不错:

  1. 删除回购提供的ddd

    sudo apt-get remove ddd
  2. 获取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,我们需要一个#include <stdio.h>;。在顶部定义EOF

  3. 确保bashdb已安装:

    sudo apt-get install bashdb
  4. 启动方式:

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

没有ddd + Bash就无法生存。

可选: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

1
可在Ubuntu 16.04上使用
Erasmus Cedernaes

4

为了ddd在bash脚本上使用bash调试器,还必须安装bashdb

如果未安装,则会得到:

在此处输入图片说明

之后,ddd似乎可以正常工作:

在此处输入图片说明


bashdb已经安装并运行。你让ddd精确运行了吗?
James Mitch 2012年

@JamesMitch,是的,我使用的是Precise 12.04(不过是64位)。
ish 2012年

1
您是否实际测试过执行bash脚本?我启动了Precise 12.04 64位DVD,安装了ddd和bashdb,但仍然无法打开bash脚本而没有看到沙漏。
James Mitch 2012年

1
此处的其他详细信息:askubuntu.com/a/178692/73165
Stabledog

1
只需按照12.04 / 64上的说明进行操作即可。在bashdb加载脚本之后,我单击“ step”并进入无限等待状态,以等待bash完成启动。有什么建议吗?
Wes Miller

1

这是DDD 3.3.12中引入的回归,请参见bug#41649

最后可用的版本是3.3.11。


1
您的错误报告是从2014年4月开始的
。OP

我已经检查了从3.3.9到3.3.12的所有四个版本。有definely 3.3.12中引入了回归(他们已经取得了很多相关的变化remakebashdbpydb)。3.3.12于2009年发布,因此OP很有可能运行此版本。
巴斯

是的,但这是2018年。2012年编写并接受了答案。此外,答案还获得了4次赞成票。该OP已有五年未签约,不太可能对您的答案发表评论。
WinEunuuchs2Unix

@ WinEunuuchs2Unix好的,也许我的答案是一个稍有不同的问题,但是对于寻求“为什么bashdb集成不起作用”答案的人,此页面出现在Google的前10名中。所以我不希望有任何评论或批评,只是积累了知识。
巴斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.