gdb详解 很优秀的文章但不知哪位大神所写,多谢这位大神!一、初始化输入gdb进入gdb调试环境。或者直接输入gdb + progfile来加载文件。注意该文件是使用gcc(或g++)编译得到的。为了使 gdb 正常工作, 必须使你的程序在编译时包含调试信息,编译时必须使用-g参数来。或者进入gdb环境后,通过命令file + progfile来加载需要调试的可
比较全面的gdb调试命令 用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更
gdb 打印字符串的全部内容 2013-01-17 21:43 1000人阅读 评论(0) 收藏 举报通常在gdb调试时要打印出一些字符串的内容,通过p str@str_len 打印字符串时,通常有长度的限制,我测试linux机器上默认为200个,但实际输出的长度str_len可能大于该值。结果不能够完全输出,而进行了省略,通过命令set print element 0就可以了。eg:p *prefi
c++类函数指针 使用类成员函数指针需要掌握的三点。1) 申明类成员函数指针:::*2) 通过对象指针调用类函数指针:->*3) 通过对象调用类函数指针:.*例:/** 定义基类和子类 **/ class Base { public: virtual void print1() { std::cout "Base::print1()" }
多线程调试 先介绍一下GDB多线程调试的基本命令。info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。thread ID 切换当前调试的线程为指定ID的线程。break thread_test.c:123 thread all 在所有线程中相应的行上设置断点th
界面示意图工具 我喜欢Balsamiq Mockups的三大理由“喜欢一个人需要理由么?”“不需要么?”“需要么?”——《大话西游》 对于一个只有3、5个人的小团队,在时间很紧的情况下,文档什么的肯定是能省则省啦。不过,有两个文档是绝对不能省的。不但不能省,还要尽全力把它们做好,并且保持更新。这两个文档就是:使用Power Designer制作的数据库模型(或者想
物化视图的快速刷新(一) 物化视图的快速刷新(一)物化视图有三种刷新方式:COMPLETE、FAST和FORCE。完全刷新(COMPLETE)会删除表中所有的记录(如果是单表刷新,可能会采用TRUNCATE的方式),然后根据物化视图中查询语句的定义重新生成物化视图。快速刷新(FAST)采用增量刷新的机制,只将自上次刷新以后对基表进行的所有操作刷新到物化视图中去。采用FORCE方式,Oracle会自动判断是否满足
Oracle 物化视图刷新 Oracle 物化视图刷新物化视图对于前台数据库使用者来说如同一个实际的表,具有和一般表相同的如select等操作,而其实际上是一个视图,一个由系统实现定期刷新其数据的视图(具体刷新时间在定义物化视图的时候已有定义),使用物化视图更可以实现视图的所有功能,而物化视图却不是在使用时才读取,大大提高了读取速度,特别适用抽取大数据量表某些信息以及数据链连接表使用,但是物化视图占用数据库磁
物化视图 物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。对于复制,物化视图允许你在本地维护远程数据的副本,这些副本是只读的。如果你想修改本地副本,必须用高级复制的功能。当你想从一个表或视图中抽取数据时,你可以用从物化视图中抽取。 对于数据仓库,创建的物化视图通常情况下是聚合视图,单一表聚合视图和连接视图。物
tcpdump 安装和文件的s权限 tcpdump 安装和文件的s权限 分类: Linux shell 2012-06-30 09:32 356人阅读 评论(0) 收藏 举报 linuxpathnetworksocketuser1 安装tcpdump,注意需要使用root用户安装yum install -y tcpdump安装到/usr/sbin目录下2 修改admin
滑动窗口机制 滑动窗口机制 滑动窗口机制 滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那
海明码 海明码2010-04-09 13:53:09 分类: 海明码是奇偶校验的一种扩充。它采用多位校验码的方式,在这些校验位中的每一位都对不同的信息数据位进行奇偶校验,通过合理地安排每个校验位对原始数据进行校验位组合,可以达到发现错误,纠正错误的目的。 假设数据位有m位,如何设定校验位k的长度才能满足纠正一位错误的要求呢?我们这里做一个简单的推导。 k位的校验码可
linux查看线程占用cpu 首先显示线程列表:ps -mp pid -o THREAD,tid,time然后将需要的线程ID转换为16进制格式:printf "%x" tid最后打印线程的堆栈信息:jstack pid |grep tid -A 60
[linux]linux下查看及修改机器名的方法 [linux]linux下查看及修改机器名的方法分类: Linux 系统管理 2012-08-27 20:07 1877人阅读 评论(0)收藏 举报查看机器名:uname -a 修改机器名:redhat中修改主机名第一步:#hostname oratest 第二步:修改/etc/sysconfig/network中的hostname第三步:修改/
curl+个人证书(又叫客户端证书)访问https站点 curl+个人证书(又叫客户端证书)访问https站点2010-07-30 10:41 5344人阅读 评论(0)收藏 举报目前,大公司的OA管理系统(俗称内网),安全性要求较高,通常采用https的双向认证模式。 首先,什么是https,简单的说就是在SSL协议之上实现的http协议(get、post等操作)。更多的介绍参看这里。 什么是双向认证模式?
linux oracle 客户端编码设置(乱码问题) linux下安装oracle,安装完毕以后没有设置环境变量,导致乱码问题。NLS_LANG,ORACLE_HOME, PATH都需要进行设置。步骤:1)编辑/etc/profile文件。2)添加 export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/client_1 export NLS_LANG="SIMPLIFIED
linux开机执行sql 机的时候需要linux 自动执行命令很简单 只需要把要执行的命令输入操作系统启动的时候要加载的文件里面就行了,一般写在 /etc/rc.local里面#vim /etc/rc.local按o键 进入编辑模式,输入命令,wq保存退出,不过需要是root权限!
/dev/sdb1: Not enough space to build proposed filesystem while setting up superblock 是由于缺少主分区,导致的。fdisk 的时候选择了extend应该选择primery主分区
在VMWare中增加Linux文件系统空间 在VMWare中增加Linux文件系统空间分类: VMWare LinuxFedorafdisk partprobemkfsLVM pvdisplaypvcreatevgextend lvdisplaylvextendresize2f 2011-09-20 23:54 2491人阅读 评论(1)收藏举报有时候会遇到这样的情况:刚开始给VMWa
Vmware-虚拟中的linux如何增加硬盘(转) Vmware-虚拟中的linux如何增加硬盘(转)分类: Linux 2008-01-04 16:37 3847人阅读 评论(0)收藏 举报启动虚拟机软件VMware后,点机VM菜单选择Setting,然后在弹出地菜单中选择:Add命令进行添加硬盘操作。完成后启动虚拟机。1.建立分区#fdisk -l查看磁盘分区情况。此时你会发现多了一个/dev/hda