用eclipse开发和调试postgresql-8.4.1

按照书本《PostgreSQL数据库内核分析》根据第一章讲解的linux下,编译 安装;不同的是libreadline5-dev版本没有了,就用新的版本代替;我的ubuntu 14 所以必须重新安装gcc-4.7版本,超过4.7版本编译会报错。

./configure

gmake

su

gmake install

adduserpostgres

mkdir /usr/local/pgsql/data

chownpostgres /usr/local/pgsql/data

su - postgres

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &

/usr/local/pgsql/bin/createdb test

/usr/local/pgsql/bin/psql test

这样就可以安装完成了,但是不能够用eclipse调试,因为按照书本附录A
用eclipse开发和调试postgresql
时候,Make
Target时,总是报错:比如/bin/tar:
sql-createdatabase.html:无法 open:
文件已存在。具体原因不是很清楚。

解决方法是,卸载原来在shell模式下编译安装的postgresql,方法就是直接删除postgresql安装的目录--pgsql这个文件夹(/usr/local/pgsql)。这样按照书本附录A就可以操作了。

我的配置代码:

 ./configure
--prefix=$HOME/pgsql --enable-depend --enable-cassert --enable-debug

尝试运行数据库

export
PATH=$HOME/pgsql/bin:$PATH

export
PGDATA=$HOME/pgsql/data

initdb

在P440,”Arguments”中输入”-D
~/pgsql/data”。

服务进程调试

“先输入psql进行登录,由于是本机,可以直接登录数据库。此时画面会停住”,不过我的画面没有停住,直接登录进去了。

在调试工具挂上postgre进程,回报错

Could
not attach to process.  If your uid matches the uid of the
target process, check the setting of
/proc/sys/kernel/yama/ptrace_scope, or try again as the root user.
 For more details, see /etc/sysctl.d/10-ptrace.conf

http://blog.csdn.net/fkdtzlzb/article/details/8783249有解决方法:

经过查阅有关资料发现,从ubuntu10.10开始,除非进程B是进程A的子进程,或者进程A为root运行,否则进程A不能调试进程B。这样一来增加了进程的安全。这个安全限制是默认的,但是可以通过修改配置文件来达到任意进程A可以调试进程B的目的。

1.可以通过下面的命令对这个限制进行临时修改,但是重启后限制依旧存在。

echo
0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

2.可以通过修改配置文件来接触限制

修改前:

kernel.yama.ptrace_scope
= 1

修改后:

kernel.yama.ptrace_scope
= 0

重启之后可以生效。

时间: 2024-10-15 15:37:48

用eclipse开发和调试postgresql-8.4.1的相关文章

搭建Eclipse开发和调试环境(真机)

由于工作原因,最近开始了Android开发.之前接触过一段时间Android,还是在2.x时代. 那个时候搭建开发环境还是挺麻烦的.又是Eclipse,又是ADT的,不同的版本还要安装对应开发包.现在方便了,下载一个ADT压缩包就搞定了. 简单记录如下: 工具下载: JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html ADT:http://developer.android.com/sdk/index.ht

在Ubuntu 14.04上使用Eclipse开发和调试PosgreSQL9.3.4

0.准备阶段新增PG帐号,用于初始化.启动和关闭数据库sudo groupadd postgressudo useradd -g postgres -m postgressudo passwd postgres 为postgres用户组指定sudo权限:ll /etc/sudoerssudo chmod 740 /etc/sudoersll /etc/sudoerssudo vim /etc/sudoers在%sudo处添加:%postgres ALL=(ALL:ALL) ALL将文件权限改回去

Eclipse开发环境debug模式调试断点从jar跳到源码

Eclipse开发环境debug模式调试断点从jar跳到源码 说明:本案例使用jsch-0.1.54.jar和源码做test,项目分成两个,一个是jsch的源码,另一个是测试案例 一.下载JSch.的jar包和源码  http://www.jcraft.com/jsch/ 二.新建两个工程分别是JSch.TestDemo,JSch中引入jsch-0.1.54.jar的源码,项目结构如下图 SftpConnect.java package com.kevin.test; import com.jc

tomcat开发远程调试端口以及利用eclipse进行远程调试

一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里:  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 Linux系统 在catalina.sh里:  CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compile

android开发-wifi连接eclipse开发调试环境

android开发请远离数据线! 方法很简单: 第一步,首先你需要在你的手机上安装一个终端模拟器工具,这里我推荐 androidterm_1,0,48.apk,搜下各大app store都会下载到. 第二步,在手机打开这个终端工具,输入命令: su//获取root权限 setprop service.adb.tcp.port 5555//设置监听的端口,端口可以自定义,如5554,5555是默认的 stop adbd//关闭adbd start adbd//重新启动adbd 第三步,记录下你手机

Eclipse IDE配置PHP开发、调试环境

前言 使用java语言开发的朋友想必对Eclipse开发工具已经不陌生了,那么Eclipse作为java主流的开发工具,是否能够开发PHP项目呢?答案如你所想,肯定是可以的!以下就是该IDE下如何配置PHP开发及调试环境的内容.亲身实践,已测试通过. 安装 1.安装php development tools(PDT)工具 选择[帮助]-[Eclipse marketplace],如下图所示: 查找“php development tool”,选择“PHP Development Tool 6.1

iDempiere 使用指南 windows下eclipse开发环境配置及打包下载

Created by 蓝色布鲁斯,QQ32876341,blog http://www.cnblogs.com/zzyan/ iDempiere官方中文wiki主页 http://wiki.idempiere.org/zhiDempiere 中文社区www.idempiere.org.cniDempiere 中文社区QQ群 65713012 本文说明如何在windows下面配置iDempiere的eclipse 开发环境,同时提供配置好的环境下载.请同时参照第一篇 绿色版iDempiere环境

Go语言Eclipse开发环境配置-windows

1.首先安装eclipse,选择一个适合的版本就好,解压即可 http://www.eclipse.org/downloads/ 2.下载go语言安装包 官网地址 :http://www.golang.org/ 官网地址有时候打不开,百度云盘下载go1.2安装包  http://pan.baidu.com/s/1c0Gf4UO#dir/path=%2FSoft%2FGoLang  32 64位都有 一路Next cmd输入go version 看到这个就安装好了,环境变量什么的会自动配置好的,唯

使用Eclipse进行远程调试

转自:http://blog.csdn.net/sunyujia/article/details/2614614 今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,  我的朋友们普通反应看完后觉得不知所云,可能是我写的太简单,下面步入正题. 什么是远程调试,就是在A机器上利用Eclipse单步跟踪调试B机器上的Web应用,当然调试A机器上Web应用也是没有问题的,90%我都是调试本机的Web应用,远程调试的意义我