Linux环境ddd安装与使用
ddd是一个优秀的调试器,安装ddd破费周折
必须安装x开发环境
1.下载
http://ftp.gnu.org/gnu/ddd/,下载最新的ddd-3.3.12.tar.gz
# wget http://ftp.gnu.org/gnu/ddd/ddd-3.3.12.tar.gz
# tar zxvf ddd-3.3.12.tar.gz
# cd ddd-3.3.12/
2.配置
# ./configure --prefix=/usr/local/ddd
安装缺失文件
1).如果configure的时候报错:
You must set the environment variable CXX to a working C++ compiler
这说明缺少C++编译器
#yum install gcc-c++
2).如果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安装包
#yum list|grep ncurses
#yum -y install ncurses-devel
#yum install ncurses-devel
3).如果configure的时候报错:
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
# yum install openmotif
# yum install openmotif-devel
配置成功,如下图所示:
3.编译
# make
如果make报错如下:
g++ -DHAVE_CONFIG_H -I. -I./.. -O2 -g -Wall -W -Wwrite-strings -trigraphs -MT strclass.o -MD -MP -MF .deps/strclass.Tpo -c -o strclass.o strclass.C
strclass.C: In function ‘std::istream& operator>>(std::istream&, string&)’:
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’在此作用域中尚未声明
make[2]: *** [strclass.o] 错误 1
make[2]: Leaving directory `/usr/ddd-3.3.12/ddd'
make[1]: *** [all] 错误 2
make[1]: Leaving directory `/usr/ddd-3.3.12/ddd'
make: *** [all-recursive] 错误 1
解决方法:
#find -name strclass.C
找到路径后编辑在改文件头部加入 #define EOF -1
终于可以make成功了!
4.安装
# make install
5.启动
进入ddd的安装目录/usr/local/ddd,还要再进入bin子目录
#cd /usr/local/ddd/bin
#ddd
成功启动界面
6.调试
静态调试:
在要调试的程序所在目录
#/usr/local/ddd/bin/ddd 程序
动态调试:
ddd更强大的是是可以绑定到运行中的程序例如Nginx进程上
# ps aux|grep nginx
#ddd -p nginx_pid
设置断点:在需要设置断点代码行,按鼠标右键弹出菜单选SetBreakoint。
查看所有断点,可以点source->Breakoints弹出窗口。
查看变量:右击鼠标选中变量,点Display即可以图形化查看变量。
如果变量是结构体包含的结构体,那么还可以在Display出来的图形化结构体中,选中其中是结构体的变量继续Display。
小技巧:可以使用showall和hideall显示和隐藏子结构,例如nginx的内存池对象*p的d子结构可以在display时展开全部
Linux环境ddd安装与使用相关推荐
- linux ddd yum,Linux环境ddd安装与使用
ddd是一个优秀的调试器,安装ddd破费周折 必须安装x开发环境 1.下载 # wget http://ftp.gnu.org/gnu/ddd/ddd-3.3.12.tar.gz # tar zxvf ...
- Linux环境Nginx安装多版本PHP
关于Linux环境Nginx安装与调试以及PHP安装参考此文即可:http://blog.csdn.net/unix21/article/details/8544922 linux版本:64位Cent ...
- Linux环境HBase安装配置及使用
Linux环境HBase安装配置及使用 1. 认识HBase (1) HBase介绍 HBase = Hadoop database,Hadoop数据库 开源数据库 官网:hbase.apache.o ...
- Linux环境下安装nginx
大家好,本篇文章主要讲的是Linux环境下安装nginx教程,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览 1.安装所需环境 //安装gcc yum install gcc-c ...
- 尚学python课程---11、linux环境下安装python注意
尚学python课程---11.linux环境下安装python注意 一.总结 一句话总结: 准备安装依赖包:zlib.openssl:yum install zlib* openssl*:pytho ...
- Linux环境下安装Tigase XMPP Server
Tigase是一种XMPP服务器,可以作为采用XMPP协议的各种IM(Instant Messeging)工具(如Pandion.Spark等)的服务器. 在Linux环境下安装Tigase的步骤如下 ...
- Linux环境下安装RocketMQ(MetaQ)
一:RocketMQ简介 RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: 1.能够保证严格的消息顺序 2.提供丰富的消息拉取模式 3.高效的订阅者水平扩展能力 4.实时的消息订阅机 ...
- linux环境下安装多个任意版本的python环境
linux环境下安装多个任意版本的python环境 安装方法可以归结为 [下载 + 编译 + 配置环境变量] 下载Python Windows下载发送到linux上 step1. 下载linux版本的 ...
- Linux环境下安装Mysql5.7
本文记录下我近期在Linux环境下安装Mysql5.7的实践经历. 服务器版本 Mysql版本 Centos 7.6 5.7.32 1. 下载Mysql 下载地址:https://downloads. ...
最新文章
- vscode安装python插件成功 调试时通知一直在载入_vscode写python时的代码错误提醒和自动格式化...
- 学习Python编程,推荐最好的五本参考书,必读~~~
- Tomcat 发布项目 conf/Catalina/localhost 配置 及数据源配置
- 妲己机器人怎么升级固件_OnRobot新增爱普生川崎机器人套件、HEX固件升级
- 基于selenium的爬虫
- 基于51单片机中文汉字LCD12864滚动显示屏仿真(源码+仿真+全套资料)
- R 语言详细安装教程(保姆级)及 RStudio简易安装教程
- Parallels Toolbox for mac(万能工具箱)中文版
- FFmpeg学习(四)-- libavformat 代码组成
- 299美元企业级账号申请过程
- 一张纸厚度是多少毫米_一张A4纸的厚度是多少mm?
- 计算机软件选修课选什么好,互联网行业,软件工程专业学什么?
- 牛逼啦!20行Python代码让程序自动玩“合成大西瓜”!
- uni-app 商城 的sku算法(vue)
- C语言实现计算数字能否被3个数整除
- Html定义网页背景色
- 智能指针(一)—— 智能指针的底层原理(RAII特性)
- linux下通过wifi连接网络
- vue用户没有头像用姓名首字母做头像
- pycharm汉化之后切换回英文
热门文章
- Android客户端多线程实例分析
- 在Win10下如何实现VS下工程代码的开机自启功能
- 机器学习(实战)泰坦尼克号(游客存活率预估)
- key mysql_mysql中key 、primary key 、unique key 与index区别
- 基于相交线的立体平面SLAM
- 设置flashfxp选中ftp密码的时候显示出来看
- 修改vscode的语言
- 在Ubuntu 14.04 64bit上搭建单机本地节点Spark 1.3.0环境
- [Linux] 010 权限管理命令 chmod
- asp.net Core多环境读取Json