Centos版本为6.6,首先进这个网站下载最新版的DDD:http://ftp.gnu.org/gnu/ddd/,最新版的DDD竟然是09年更新的,现在都2016年了。

解压后,进入目录:

846  2016-06-29 10:56:06 cd ./下载/ddd-3.3.12

847  2016-06-29 10:56:07 ls

848  2016-06-29 10:56:12 ./configure

然后就报错,报错主要原因是需要的相关的软件包没有安装上:

checking for tgetent in -lncurses... no

checking for tgetent in -lcurses... no

checking for tgetent in -ltermcap... no

checking for tgetent in -ltinfo... no

checking for termcap functions library... configure: error: No curses/termcap library found

缺少ncurses安装包:

955  2016-06-29 14:12:37 yum install ncurses ncurses-devel

configure: error: The X11 library '-lX11' could not be found.

Please use the configure options '--x-includes=DIR'

and '--x-libraries=DIR' to specify the X location.

See the files 'config.log' and 'ddd/config.log'

for further diagnostics.

缺少openmotif:

963  2016-06-29 15:11:26 yum install openmotif

checking for IceConnectionNumber in -lICE... no

checking whether libXext is in the standard X library path... yes

checking whether libXp is in the standard X library path... no

checking whether libXmu is in the standard X library path... no

checking for Motif... libraries (none), headers (none)

checking for Xpm... libraries in default path, headers in default path

checking for Athena... libraries in default path, headers (none)

checking whether compiling X headers requires -fpermissive... no

checking for XOpenDisplay in -lX11... yes

checking for _Xlcmbcurmax in -lXintl... no

checking for shmap in -lipc... no

checking for XtToolkitInitialize in -lXt... no

configure: error: The X toolkit library '-lXt' could not be found.

Please use the configure options '--x-includes=DIR'

and '--x-libraries=DIR' to specify the X location.

See the files 'config.log' and 'ddd/config.log'

for further diagnostics

缺少openmotif-devel:

994  2016-06-29 10:52:03 yum install openmotif-devel

之后configure就成功了:

然后make,报错:

大概内容是:

strclass.C:1546: 错误:‘EOF’在此作用域中尚未声明

strclass.C:1559: 错误:‘EOF’在此作用域中尚未声明

strclass.C: In function ‘int readline(std::istream&, string&, char, int)’:

strclass.C:1589: 错误:‘EOF’在此作用域中尚未声明

strclass.C:1602: 错误:‘EOF’在此作用域中尚未声明

解决方法:

850  2016-06-29 10:59:46 find -name strclass.C

851  2016-06-29 11:00:01 vim ./ddd/strclass.c

找到路径后编辑在改文件头部加入 #define EOF -1

保存。

然后make成功!

853  2016-06-29 11:01:07 make clean

854  2016-06-29 11:01:25 make

855  2016-06-29 11:05:31 sudo make install

然后随便编译一个C++程序:

[Jiakun@Kunge LeetCodeOJ]$ g++ -g -Wall -gstabs+ -o ./GrayCode GrayCode.cpp

[Jiakun@Kunge LeetCodeOJ]$ ddd ./GrayCode &

[1] 9426

启动成功!

在DDD中显示行号:

Edit->Preferences->Source 选中Display Source Line Numbers

若使DDD运行时在xterm窗口中显示运行结果,则需安装xterm:

999  2016-06-29 13:45:21 yum install xterm

然后在DDD中:

Program->Run in Execution Window就可以了。

一些常见的g++编译选项和gdb命令:

g++ -g -Wall -gdwarf-2 -o ./GrayCode GrayCode.cpp

-g 选项让编译器将符号表(即对应于程序的变量和代码行的内存地址列表)保存在生成的可执行文件中,这样才能在调试会话过程中引用源代码中的变量名和行号。

-gstabs+作用:如果调试程序时,在gdb内p var,会提示No symbol "var" in current context.即使没有使用任何编译优化选项,可能是这些变量被优化到寄存器中,gdb无法读取。解决方案:在编译是加入 ‘-gstabs+’  选项

-gdwarf-2作用:当通过print命令打印查看程序中的变量值时,会发现总是出现值不正确的现象。这应该是gcc生成的调试信息与gdb版本不兼容造成的,加上-gdwarf-2。另-gdwarf-2与-gstabs+冲突

设置断点:break 源代码行号

删除/清除断点:clear 行号

列出所有断点:info break

单步调试: next命令让gdb执行下一行,然后暂停。step命令的作用与此类似。只是在函数调用时step命令会进入函数,而next导致下一次暂停出现在调用函数之后。

恢复操作:continue命令通知调试器恢复执行,直到遇到新断点为止。

一次性断点:tbreak命令设置的断点在首次到达该指定行后就不再有效,只使用一次。

ddd linux 调试工具_Centos安装DDD调试器相关推荐

  1. laravel安装Debugbar调试器的安装和使用

    ** laravel安装Debugbar调试器的安装和使用 ** 1.安装命令: composer require barryvdh/laravel-debugbar 2.生成配置文件,给用户配置,根 ...

  2. Windows安装GDB调试器

    GDB介绍 GDB 全称"GNU symbolic debugger",从名称上不难看出,它诞生于 GNU 计划(同时诞生的还有 GCC.Emacs 等),是 Linux 下常用的 ...

  3. Flex调试工具的安装(Flash 调试 IE Firefox )

    Flex调试工具的安装(Flash 调试 IE Firefox ) 一.IE下flex调试的安装 Flex builder 3.0中使用trace( )调试时(debug方式运行,也可直接按F11运行 ...

  4. Linux课程---11、Linux中软件安装和调试

    Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...

  5. Qt安装Windows调试器

    Qt安装Windows调试器 问题:Win10下使用Qt无法调试,这是因为没有指定调试器. 解决方法: 1. 打开网址:https://developer.microsoft.com/zh-cn/wi ...

  6. Linux系统之安装PDF阅读器

    Linux系统之安装PDF阅读器 一.PDF介绍 1. PDF简介 2. PDF特点 3. evince介绍 二.本次实践环境介绍 1. 本地环境规划 2. 本次实践介绍 三.本地环境检查 1. 检查 ...

  7. linux平台调试终端,10款Linux平台上优秀的调试器,总有一款适合你!

    前言 调试器对于检测程序中的 bug 是必不可少的.有很多优秀的 Linux 调试器,可以很容易地找到应用程序中的错误.我们将在本文中介绍几款好用的调试器. 1. GNU Debugger (GDB) ...

  8. python pdb pip安装_Python调试器,一个优秀开发人员的必备技能包

    原标题:Python调试器,一个优秀开发人员的必备技能包 写在之前 不管是之前搞 acm 用 c/c++ 写算法还是后来用 Python 写代码,我发现在程序出现问题的时候,大多数人习惯性的用 pri ...

  9. Win10 安装编译器|调试器 TDM-GCC/Mingw64

    文章目录 前言 一.tdm-gcc下载 二.安装步骤 检查安装是否成功 总结 前言 window下安装相应的编译器和调试器GCC GDB . 现在常用的有 TDM-GCC Mingw64 MSVC M ...

最新文章

  1. compser可以检查php扩展吗,composer扩展
  2. Skype For Business 2015实战系列2:安装活动目录
  3. 怎么样实现对一个对象的深拷贝
  4. python程序设计实验配置_20181235 实验三《Python程序设计》实验报告
  5. Spring-Data-JPA入门--增删改查1
  6. 有多少小微餐饮创业者陷入了“就业型创业”的死亡漩涡而不自知?
  7. 计算机配件模拟,模拟计算机是指什么
  8. java mp3 信息_如何用Java读取MP3文件的Tag信息
  9. 业内对楼市回暖时间几成共识:尚需一年
  10. Intel Optane P4800X评测(序):不用缓存和电容保护的SSD?
  11. TensorFlow+pytorch+gpu+anaconda极简安装教程
  12. 观音菩萨是企业家和领导者的好榜样
  13. 微信小号来了,微信小号怎么申请(内附微信小号注册说明)
  14. 儿科微信端产品推广策划方案记录
  15. proteus——555 PWM 发生器
  16. ‘今年找工作太难了,真的是卷到我想哭!’,一个疫情就业季下的毕业生艰辛IT求职道路上的经验分享!见识入社会的不容易!
  17. 系统集成项目管理 : 挣值管理(PV、EV、AC、SV、CV、SPI、CPI、VAC、BAC、ETC、EAC、)公式全集
  18. ybt1283:登山
  19. 【题解】网络流24题一句话题解集合
  20. 工作日志-----陈浩伦

热门文章

  1. 批量打印订单的技术方案
  2. 达梦数据库和mysql的语法区别
  3. 《机器学习方法(第三版)—— 李航》学习笔记(四)
  4. 嵌入式Linux C基本知识点总结
  5. 微信小程序----引入外部字体库iconfont的图标
  6. 【Matlab作业】MATLAB语言基础
  7. 吴恩达深度学习教程——中文笔记网上资料整理
  8. esxi6.7解锁并安装macOS
  9. 【go-zero】go-zero 与 amqp go整合 Rabbitmq 实现消息推送 go 消息队列 (best practice)
  10. STVP下载提示“Warning: Old ST-Link firmware version detected”