Linux
ariesjzj
这个作者很懒,什么都没留下…
展开
-
MinGW和Cygwin环境下gcov和lcov使用心得
原文地址:http://blog.csdn.net/ariesjzj/article/details/7802872 1. Cygwin在/bin下有两种编译器可选:i686-pc-mingw32-gcc和i686-pc-cygwin-gcc。默认为前者。Cygwin编译出来的可执行文件能很好地使用gcov和lcov。但如果项目本身是Mingw的,虽然可将用Mingw的gcc完成编译,但不原创 2012-08-02 19:07:28 · 6729 阅读 · 0 评论 -
GDB使用备忘
调试带参数的程序$ gdb program(gdb) run param 使用core dump调试首先打开core dumpulimit -c unlimitedcore文件产生后,使用core dumpgdb --core=core.XXX 设置watch point(gdb) watch *((int*)0x00ABCDEF)查看反汇原创 2012-07-08 01:37:32 · 3139 阅读 · 0 评论 -
Linux下二进制代码的阅读
大多数时候,我们研究的是如何阅读源代码。但在一些情况下,比如源代码不公开或得到源代码的代价很高的情况下,我们又不得不需要了解程序的行为,这时阅读二进制文件就非常重要。假设现在有一个二进制可执行文件,我们木有源代码,但要了解它的实现,这里仅简单列出一些常用的工具。 阅读方式可分为两个方面:静态阅读和动态阅读。静态阅读首先,file命令可以查看可执行文件的大体信息。比如是哪种格式的,哪个体原创 2012-07-08 14:00:44 · 3440 阅读 · 0 评论 -
GDB中应该知道的几个调试方法
七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。希望大家补充。一、多线程调试多线程调试可能是问得最多的。其实,重要就是下面几个命令:转载 2012-07-08 01:23:24 · 1193 阅读 · 0 评论 -
samba共享目录不可写的问题
共享目录无写权限,即使smb.conf里设成writable = yessamba依赖于文件系统的权限,因此把共享目录改为所有人可写,问题解决。原创 2012-06-25 16:05:53 · 4553 阅读 · 2 评论 -
[Scripts][Perl] unmangle指定文件中所有mangle过的C++符号名
#!/usr/bin/perl# un-mangle c++ symbol# assuming the c++filt command is availableuse strict;use warnings;if ($#ARGV != 0) { print "usage:\n"; print "program filename\n";}my $in_原创 2012-04-11 16:57:09 · 1411 阅读 · 0 评论 -
Linux中的同步机制 -- Futex
Linux中的同步机制(一)--Futex引子在编译2.6内核的时候,你会在编译选项中看到[*] Enable futex support这一项,上网查,有的资料会告诉你"不选这个内核不一定能正确的运行使用glibc的程序",那futex是什么?和glibc又有什么关系呢?1. 什么是FutexFutex 是Fast Userspace muTexes的缩写,由Hubertus转载 2012-04-18 14:59:45 · 2621 阅读 · 0 评论 -
vim 复制粘贴
从Vim拷贝到系统粘贴板:"+y从系统粘贴板拷贝到Vim:"+p 或 Shitf + insert在vim里面,系统的粘贴板跟vim的寄存器+是关联的,所以你对寄存器加+的任何复制和粘贴都直接影响到系统的粘贴板。vim有12个粘贴板,分别是0、1、2、...、9、a、“、+;用:reg命令可以查看各个粘贴板里的内容.要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后转载 2012-04-01 15:57:04 · 1398 阅读 · 0 评论 -
存储模型的Coherence和Consistency的区别
原文地址:http://blog.csdn.net/ariesjzj/article/details/6769754Coherence和Consistency这两个词意义相近,很多时候我们将这两个词混用。中文中,这两个词往往都被译成“一致性”。但在存储模型的上下文中,这两个词有着完全不同的含义。 存储的Coherence模型主要考虑对于同一内存位置的写操作对于所有的处理器的可见性。原创 2011-09-12 21:57:27 · 9301 阅读 · 2 评论 -
tar.xz和lzma文件的解压方法
如压缩包为coreutils-8.18.tar.gx,解压命令为:$xz -d coreutils-8.18.tar.xz$tar -xvf coreutils-8.18.tar lzma解压命令为tar --lzma -xvf a.tar.lama原创 2012-08-14 10:12:51 · 7271 阅读 · 0 评论 -
Mandriva Linux 2006 硬盘安装法
Mandrake official 10.1好象有个INSTALL批处理文件,纯dos下一运行就启动GUI安装界面了。Mandriva Linux 2006 不知道为什么没有这个文件了,想要省去刻盘的钱就只好麻烦些了。[1]先下载vfloppy和grub.exe[2]安装并按照说明文档设置好vfloppy,启动菜单出现一个Dos启动项(我的win98启动盘进入Dos后无法运行grub,只好原创 2006-05-05 10:08:00 · 1725 阅读 · 0 评论 -
Linux中的常用内存问题检测工具
C/C++等底层语言在提供强大功能及性能的同时,其灵活的内存访问也带来了各种纠结的问题。如果crash的地方正是内存使用错误的地方,说明你人品好。如果crash的地方内存明显不是consistent的,或者内存管理信息都已被破坏,并且还是随机出现的,那就比较麻烦了。当然,祼看code打log是一个办法,但其效率不是太高,尤其是在运行成本高或重现概率低的情况下。另外,静态检查也是一类方法,有很多工具(lint, cpp原创 2015-06-27 12:53:08 · 41592 阅读 · 5 评论 -
《Programming with POSIX Threads》笔记
异步(Asynchronous):如果两个操作可以独立进行,称它们是异步的。并发(Concurrency):看起来同时执行,但其实是顺序执行。如多个线程或进程在单个CPU上的行为。并行(Parallelism):真正同时执行。如多个线程或进程在多个CPU上的行为。线程安全(Thread-safe):代码能从多个线程被调用而不破坏结果。可重入(Reentrant):代码被多次调用产生的结果是可预期的。值得注意的是,reentrant和thread-safe是两个概念,它们既不充分也不必要。但非线程安原创 2015-02-26 16:47:20 · 3721 阅读 · 0 评论 -
Wayland中的跨进程过程调用浅析
Wayland协议主要提供了Client端应用与Server端Compositor的通信机制,Weston是Server端Compositor的一个参考实现。Wayland协议中最基础的是提供了一种面向对象的跨进程过程调用的功能,在作用上类似于Android中的Binder。与Binder不同的是,在Wayland中Client和Server底层通过domain socket进行连接。和Binder一样,domain socket支持在进程间传递fd,这为传递graphic buffer和shared me原创 2014-10-20 09:43:53 · 25410 阅读 · 8 评论 -
Linux下常用命令和脚本备忘
锁屏快捷键ctrl + alt + L选择当前目录下除data之外的文件, 并删除find . -maxdepth 1 -regex "./[^(data)].*" -exec rm -rf {}/;找到所有相关进程并杀掉ps aux|grep "xterm"|grep -v "grep"|awk '{print $2}'|xargs kill -9用进程名杀进原创 2010-08-11 12:59:00 · 1361 阅读 · 0 评论 -
Ubuntu中sudo执行需要网络代理的命令
哪怕在root和普通用户的环境变量中都设了代理,通过sudo执行需要代理的命令仍然不行,如:$ sudo apt-get install xxx解决方法是在/etc/sudoers中加入:Defaults env_keep += "http_proxy https_proxy no_proxy"转载 2013-07-18 17:22:19 · 5181 阅读 · 0 评论 -
[Python]根据地址从maps文件中找相应的库名
/proc/PID/maps提供了进程的memory layout,下面脚本根据给定地址找出相应的库名:#!/usr/bin/pythonfrom __future__ import print_functionimport sysimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltimpo原创 2013-07-01 22:29:47 · 2726 阅读 · 0 评论 -
用U盘安装Ubuntu 12.04无法启动
用Universal USB Installer制作安装盘,安装完了启动提示:error: file not foundgrub rescue>坑爹啊,用都没开始用就要rescue了。。。但装的时候明明是选了将引导器装到主分区上的。只能修复启动信息了,网上方法很多,比较靠谱的是先用LiveCD启动,然后:$ sudo mount /dev/sda1 /mnt$ su原创 2013-07-15 13:40:44 · 6139 阅读 · 0 评论 -
Linux Kernel启动过程中的内存管理
原文地址:http://blog.csdn.net/ariesjzj/article/details/8764102好的操作系统必然要有好的内存管理系统来支持。好的内存管理系统就像一个艺术品,因为在其中我们可以看到空间优化和时间优化的完美平衡(既要省内存又要分配和释放足够快)。Linux为我们提供了这样一个范例,关于它的内存管理在很多讲kernel的书都可以找到。但在这一切还没有建立起来时原创 2013-04-06 19:22:37 · 3850 阅读 · 0 评论 -
Qemu调试Windows
原文地址:http://blog.csdn.net/ariesjzj/article/details/8698439Kernel级的Windows调试,Windbg+Virtualbox(Vmware )这套方案很好用,但Windbg依赖于guest(也就是Windows)。如果guest中的Windows小crash,可以抓到,但如果crash得比较严重,把和Windbg通信的那部分也破原创 2013-03-28 08:32:52 · 6301 阅读 · 0 评论 -
Linux内核调试工具
原文地址:http://blog.csdn.net/ariesjzj/article/details/8244333一些Linux Kernel的分析调试工作,主要包换qemu,kprobes和trace等,以作备忘。 Qemu源码级调试Kernel1. Qemu编译与安装先安装libsdl的开发库$ ./configure$ make # make insta原创 2012-11-30 19:02:15 · 7114 阅读 · 0 评论 -
Xen的源码安装及dom0,domU的设置
原文地址:http://blog.csdn.net/ariesjzj/article/details/8570566Xen作为一种应用广泛的虚拟机方案,无论是在工业还是教育领域都发挥着巨大的作用。Xen不仅有其引以为豪的Paravirtualization实现,还有基于硬件支持的HVM实现。对于Xen,Ubuntu中有现成的解决方案,只要通过一些apt-get install(ubuntu原创 2013-02-13 14:26:17 · 6384 阅读 · 1 评论 -
Linux和Windows中的时间管理
原文地址:http://blog.csdn.net/ariesjzj/article/details/7220482首先是两个常用概念:Cycle和Tick。Cycle是由CPU主频决定的,而CPU主频是由CPU的物理特性决定的,因此它可以说是平台无关的。现在的主流CPU主频都是以G为单位了,所以1个cycle的单位一般在纳秒级别。Tick泛指一段时长(一般为两次timer interrupt原创 2012-01-30 20:56:37 · 2584 阅读 · 0 评论 -
VirtualBox增大硬盘容量(guest为Linux)
原文地址:http://blog.csdn.net/ariesjzj/article/details/7269784如果virtualbox中的guest系统出现磁盘空间不足的情况,最方便的方法就是将已有硬盘变大。网上能找到不少guest为windows时的扩大硬盘容量的方法,但在guest为linux时又略有不同。其实方法不止一种,下面以virtualbox自带的调整工具为例进行说明。原创 2012-02-18 12:05:08 · 6795 阅读 · 0 评论 -
vim常用插件
project(文件的“项目”管理)作者:Aric Blumer安装说明:1. 在 Vim 网站上下载最新版本(project-1.3.tar.gz); 2. 使用“tar xvfz project-1.3.tar.gz -C ~/.vim”解开; 3. 在 Vim 中运行“:helptags ~/.vim/doc”安装文档。功能说明:该插件可以把文件组织成一棵树的形式,以便转载 2008-03-11 18:45:00 · 1139 阅读 · 0 评论 -
"Temperature above threshold"错误的解决方案
系统为Debian 4,今天一开机就不断跳出:localhost kernel: CPU1: Temperature above threshold 信息据说是2.6 内核的温度阀值过低造成修改/etc/syslog.conf,注释掉 *.emerg 这一行,然后:/etc/init.d/syslogd restart原创 2008-03-10 22:30:00 · 7760 阅读 · 0 评论 -
程序员的emacs配置大全(cedet+ecb+cscope+gdb-ui)-jzj
本文主要讨论以下几方面的设置:1.字体2.cedet3.ecb4.cscope4.gdb-many-window环境:openSUSE 10.2默认装的是Emacs 21,我从网上下了Emacs 22.1的tar包,编译安装。1.字体 默认的字体非常之小,以下是一篇非常详细的Emacs下设置字体的教程,可惜太长了,长到我实在是懒得看。我抄了个现成的:(set-default-font原创 2007-09-15 16:25:00 · 12244 阅读 · 5 评论 -
自动挂载windows分区
/etc/fstab: /dev/sda10 / ext3 acl,user_xattr 1 1/dev/sda9 swap swap defaults 0 0proc /proc原创 2007-06-06 22:32:00 · 1300 阅读 · 0 评论 -
Qt编程的一点体会
QMainWindow中无法直接用Layout进行多控件的布局管理,而是要先写一基于QWidget的自己的类,如myWidget,把要布局的控件在这个myWidget上弄好后,然后用setCentralWidget(myWidget)将之设为中心控件。不要用Qt Designer了,一开始会尝到点甜头,可产生的垃圾代码和差的可维护性会另人头疼不已,用代码写GUI其实并不费力。A类包含B类,A中的s原创 2007-08-22 19:35:00 · 1631 阅读 · 0 评论 -
basket-linux下的oneNote
basketkde.basket.org原创 2007-08-08 21:48:00 · 5122 阅读 · 0 评论 -
用gdb检查段错误(segment fault)
简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它 指向的 gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由转载 2007-08-01 17:14:00 · 5439 阅读 · 0 评论 -
linux下Vi编辑器命令大全
文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充! 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最转载 2007-07-18 11:26:00 · 1819 阅读 · 0 评论 -
Ubuntu linux虚拟机安装体验
/* 总得来说还是不错的linux发行版,界面简洁,软件安装方便,却没有debian的复杂配置。*/问题1: 中文 apt-get install language-pack系统->系统管理->语言支持问题2:字体将windows下的字体文件.tff复制到/usr/share/fonts下,最好新建自己的字体目录,其下放字体文件问题3:第三方程序,如acroread等在/etc/apt/sourc原创 2007-06-22 17:48:00 · 1967 阅读 · 0 评论 -
amarok乱码问题
amarok歌曲信息乱码解决方法打开amarkok,然后 设置-配置amarok-常规-编码-不将下列内容解码为Latin1,选中"ID3标签",还有"Shoutcast元数据"。并且设置编码为GB2312。1.3.8版本适合,1.4可能不行转载 2007-01-29 22:23:00 · 5220 阅读 · 0 评论 -
Linux下安装MyEclipse错误的解决方案
下载好EnterpriseWorkbenchInstaller_4.1.1GA_E3.1.bin,在终端运行:./EnterpriseWorkbenchInstaller_4.1.1GA_E3.1.bin出现下面错误提示:Unable to locate the applications main class. The classcom.zerog.ia.installer.Mai原创 2006-06-29 11:54:00 · 2746 阅读 · 0 评论 -
[Qt]QTreeWidget和QTreeView用法
QTreeView一般和相应的QXXModel合用,形成Model/View结构.QTreeWidget继承自QTreeView ,是封闭了默认Model的QTreeView,其中的元素是QTreeWidgetItem类型,要插入只需将新建QTreeWidgetItem的父类设为指定的QTreeWidget就行(在QTreeWidgetItem的构造函数中指定),要删除直接delete掉QTr原创 2008-03-20 03:05:00 · 19286 阅读 · 6 评论 -
在Debian上安装realplayer
realplayer和acrobat reader这种都算是第三方软件,所以一般的源上不会有。#vi /etc/apt/sources.list加上源deb http://www.debian-multimedia.org sarge main 或者 deb http://www.debian-multimedia.org stable main#apt-get update#apt-get原创 2008-03-19 23:13:00 · 951 阅读 · 0 评论 -
eval, exec, source区别
1.eval 执行一个命令 2.exec 在新进程中执行一个命令,并且终止当前进程 3.source 在当前进程中执行脚本转载 2012-03-06 14:04:03 · 1879 阅读 · 0 评论 -
andriod的apk文件相关的编译反编译工具
1、smali-1.2.6.jar用途:.smali文件 转成 classes.dex文件说明:.smali文件,类似于.class文件,可以用普通文本编辑器查看和修改。用法举例:命令行:java -jar smali.jar classout/ -o classes.dex下载:http://code.google.com/p/smali/downloads/list 2转载 2012-02-29 08:23:14 · 1404 阅读 · 0 评论 -
中国科学技术大学 中科大(USTC)UBUNTU源Linux镜像站IPV4/IPV6
Ubuntu下的使用方法:使用如下命令:sudo gedit /etc/apt/sources.list请编辑/etc/apt/sources.list,用下面的内容替换: deb http://mirrors.ustc.edu.cn/ubuntu/ natty main restricted universe multiversedeb http://mirrors.转载 2012-02-07 13:27:42 · 5587 阅读 · 1 评论