PostgreSQL学习笔记YY(2)--Ubuntu下使用DDD调试查看源码(原创)
说明:前一段时间一直在FreeBSD的操作系统环境下进行实验,但是由于多次安装桌面系统失败,所以无法及时更新日志。昨天换了Ubuntu系统,在Unix
环境下摸索了3天之后,终于在Ubuntu上编译,安装PostgreSQL数据库,并且成功利用图形化调试程序DDD(Data Display Debugger)来以调试的方式运行程序,这对阅读代码十分有帮助。
过程:在孙振兴同学转载的帖子(http://www.cnblogs.com/tjdx415/archive/2010/01/18/1650837.html)里,前面两步都可以顺利通过,但是运行第3步时,输入命令ddd /usr/local/pgsql/bin/postgres 会出现找不到ddd命令的错误,其原因是因为Ubuntu不会默认安装这个软件,可以通过一下两种方式来安装:
1。命令行模式输入:sudo apt-get install ddd。
2。利用Ubuntu自带的Synaptic Package Manager来搜索安装。
在安装数据库和安装好DDD之后,输入ddd /usr/local/pgsql/bin/postgres语句,会发现是用当前用户窗口来使用DDD,而不是Postgres用户,这样的后果是在DDD中没有权限来使用数据库。因为PostgreSQL是一定要用Postgres用户来管理的。遇到这种情况想到过两种解决方案:
1。切换到Postgres用户,来启用DDD
2。将访问权限赋予当前用户
先说第一种解决方案需要注意的地方:如果在当前用户下来使用su - postgres 然后用postgres来启用DDD 会出现 can’t display的错误,原因是显示器被当前用户锁定,无法再提供给Postgres使用,所以想切换到Postgres用户登陆,再执行,此时又会出现无法登陆桌面的情况,原因是在添加用户Postgres是使用了命令行的usradd的方式,使用这种方式的缺点是无法完整配置桌面启动程序和用户默认的文件夹,这样Postgres用户就无法使用桌面模式,更无法使用DDD的图形化界面。所以添加Postgres用户要特别注意,应该使用Ubuntu
桌面提供的Usrs and Groups来添加Postgres用户,这样就可以切换到Postgres用户的桌面模式,然后就可以使用DDD,ddd /usr/local/pgsql/bin/postgres 来调试程序!第二种解决方案,应该要修改postgresql数据库中的配置文件,尚未尝试~~~
结论:以上就是如何使用Ubuntu和DDD来调试Postgresql程序,大家如果有什么安装调试的问题,都请留言,我一定会帮忙解决。另外用insight这个软件也可以来调试程序。
PS:如果是要阅读源码的话以下这个网站: http://doxygen.postgresql.org/是很好的地方,他给出了各个函数之间调用依赖等关系,还有许多源码的注释,程序的框架。另外http://neilconway.org/talks/hacking/这个网站,是07年postgresql大会上neilconway说明了为什么要阅读postgresql源码,以及相关开发工具和一些开发者规定等。
姓名:杨阳,主题:调试程序
转载于:https://www.cnblogs.com/tjdx415/archive/2010/01/21/1653562.html
PostgreSQL学习笔记YY(2)--Ubuntu下使用DDD调试查看源码(原创)相关推荐
- OpenCV学习笔记(三):图像对比度、亮度调整源码
OpenCV学习笔记(三):图像对比度.亮度调整源码 主函数: #include <opencv2/opencv.hpp>using namespace cv;using namespac ...
- ubuntu下wget下载Linux内核源码、make生成.config文件
根据资料,如果要调试Linux内核源码,需要自己编译内核源码:原因是,一般下载的内核并不是为调试而编译的,要在编译时开启 "Compile the kernel with debug inf ...
- Python学习笔记:7.5.1 Django快速建站 -源码版本管理
前言:本文是学习网易微专业的<python全栈工程师 - Django快速建站>课程的笔记,欢迎学习交流.同时感谢老师们的精彩传授! 一.课程目标 了解源码版本管理的意义 掌握初步的git ...
- Ubuntu下使用CMake编译OpenSSL源码操作步骤(C语言)
OpenSSL的版本为1.0.1g,在ubuntu下通过CMake仅编译c代码不包括汇编代码,脚本内容如下: build.sh内容: #! /bin/bashreal_path=$(realpath ...
- ubuntu下编译安卓7.0源码
ubuntu下使用国内镜像下载安卓7.0源码 本文使用的环境如下: 1.Ubuntu系统:ubuntu-18.04.5-desktop-amd64 2.repo:谷歌开发的方便拉安卓源码的工具 3.p ...
- zabbix编译php_【Zabbix学习笔记】五、LNMP之PHP7.4.1源码编译安装
PHP7.4.1已于12月18日发布,先来体验一下~ 了解PHP7.4.1的新特性请点击:php7.4新特性 安装环境 操作系统:Centos7 PHP版本: PHP 7.4.1 Web服务器:Ngi ...
- linux如何运行qt源码,Linux/Ubuntu下编译Qt4.8.2源码
本人所用的系统为Ubuntu 14,所下载的QT源码版本为4.8.2. 以下是编译QT源码的基本步骤: 2.解压代码 输入指令: tar zxvf qt-everywhere-opensource-s ...
- 如何在ubuntu下安装detectron2_Ubuntu16.04从源码安装detectron2
Ubuntu16.04从源码安装detectron2 准备工作 首先确保pytorch的cuda版本和系统的一致. 首先查看pytorch对应的cuda版本,通过conda list命令可以查看,我这 ...
- ubuntu下安装Node.js(源码安装)
最近使用hexo的过程中出现了问题,中间载nodejs安装的时候也耽误了些许时间,所以在此记录一下安装的过程. 环境:ubuntu14.0.4LTS,安装nodejs版本node-v0.10.36.t ...
最新文章
- 关于C和C++的一点观点
- VS2015下OpenGL库的配置
- CSS之calc()使用
- 查看当前提供了哪些引擎
- 任意阶魔方阵matlab程序,【精品】任意阶魔方阵算法(c语言)
- 拼音输入法功能大比拼
- 第1章 ASP.NET 3.5与开发工具
- 你可能不知道的10个Blazor功能
- c mysql分页存储过程_mysql 分页存储过程调用报错
- 自定义函数hello,并注册到hive源码中并重新编译
- TensorFlow应用实战-18-Policy Gradient算法
- .NET System.Web.HttpContext.Current.Request报索引超出数组界限。
- 萤火虫小程序_【实用工具】微信小程序及练船表(更新至2020年12月1日)
- MFC 通用对话框之颜色对话框
- steam无法连接至计算机,无法连接至steam网络怎么办 无法连接至steam网络解决方法【图文】...
- thingworx ADO安装
- 【日常办公】chm 已取消到该网页的导航
- Source Insight入门教程
- odb 使用指南(三)持久化对象的处理
- python启动netron
热门文章
- jpa 托管,Apache Aries托管JPA支持哪些JPA提供程序?
- c++查漏补缺之自增自减运算符重载
- 纯新手DSP编程--5.18--调试(续)
- 河南科技大学计算机专业专升本,河南科技大学成人高考计算机应用技术专业的课程有哪些...
- flume流程之http-memory-hdfs
- 深度理解“CPU内部寻址方式”
- Server Tomcat v8.0 Server at localhost failed to start.
- Netty框架中的@Skip使用说明
- .Net 中的序列化与反序列化[概述]
- Mybatis ResultMap Collection 复合主键