- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 core问题定位方法
今年比较悲剧,遇到好多比较难定位的core问题,总结一下,以后再遇到,不用手忙脚乱,可以从容点定位问题:core问题分类:1. 堆栈直接能用gdb看出core在哪儿的1) 错误就在堆栈所在行:堆栈简单的数组下标错误,迭代器失效导致的错误,memset错误,通过堆栈看循环变量的值,基本可以直接看出来,修改就可以了2)错误在函数内:可能是因为堆栈所在行的上几行的内存溢出导致执行到下面的
2012-05-26 14:53:52
3087
原创 sysctl: 深入使用Linux的必经之路
设置Sysctl.conf用以提高Linux的性能<br />Sysctl是一个允许您改变正在运行中的Linux系统的接口。它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百个系统变量。基于这点,sysctl(8) 提供两个功能:读取和修改系统设置。<br />查看所有可读变量:<br />% sysctl -a<br />读一个指定的变量,例如 kern.maxproc:<br />% sysctl ker
2011-03-31 23:11:00
10268
原创 tcpdump本机抓包
<br />在进行网络测试的时候,我们经常需要进行抓包的工作,当然有许多测试工具可以使用,比如sniffer, ethreal等.但最为方便和简单得就非TCPDump莫属. Linux的发行版里基本都包括了这个工具. TCPDump将网络接口设置成混杂模式以便捕获到达的每一个数据包.下面给出TCPDump的部分常用选项:<br />-i <interface> 指定监听的网络接口<br />-v 指定详细模式输出详细的报文信息<br />-vv 指定更详细模式输出更详细的报文信息<br />-x
2011-03-31 23:09:00
14263
转载 netstat的10中用法
10 Netstat Command ExamplesNetstat command displays various network related information such as network connections, routing tables, interface statistics, masquerade connections, multicast memberships etc.,In this article, let us review 10 practi
2011-03-31 23:07:00
2352
2
原创 grep or 条件的多种方法
<br />grep or 条件<br />[aa@localhost ~]$ df -hT |grep 'sda1/|sda3'<br />/dev/sda3 ext3 225G 162G 52G 76% /<br />/dev/sda1 ext3 122M 12M 104M 11% /boot<br /><br /><br />[aa@localhost ~]$ df -hT |grep -e "sda1" -e "sda3"<br />
2011-03-31 23:06:00
16531
原创 man man找不到的东西
<br />(1)所有的手册页都属于一个特定的领域,用一个字符来表示。<br /> <br />Linux下最通用的领域及其名称及说明如下: <br /> <br />领域 名称 说明 <br />1 用户命令, 可由任何人启动的。 <br />2 系统调用, 即由内核提供的函数。 <br />3 例程, 即库函数。 <br />4 设备, 即/dev目录下的特殊文件。 <br />5 文件格式描述, 例如/etc/passwd。 <br />6 游戏, 不用解释啦! <br />7 杂项, 例如宏命令包、
2011-03-30 14:22:00
1031
原创 补码表示法和负数的移位
<br />这个东西都忘得差不多了<br /> <br />对于正数:反码==补码==原码。 <br />对于负数:反码==除符号位以外的各位取反。 <br /> 补码==反码+1. <br /> 原码==补码-1后的反码==补码的反码+1。(读完本文后,应该能够直观地认识到本式的正确性)<br /> <br />问题:<br />int i = -9;<br />int j = i >> 1;<br />j为多少?<br /> <br />i>>1 i=9的补码为
2011-03-30 13:54:00
2377
转载 Linux下Daemon的实现
<br />参考http://zxuhong.blog.51cto.com/368977/99283/<br />注:Linux下可以直接调用damon函数来实现daemon进程,没必要重新实现,理解其原理即可。<br />在Linux中专门提供了一个函数来完成这个daemon化的过程,这个函数的原型如下int daemon (int __nochdir,int __noclose);<br />如果__nochdir的值为0,则将切换工作目录为根目录;如果__noclose为0,则将标准输入,
2011-03-29 23:32:00
6426
1
原创 IFS=' /t/n/ 与IFS=$' /t/n'的区别
<br />参考:http://bbs.chinaunix.net/thread-1748468-1-1.html<br /> <br />man bash,可以看到这句话:<br /> <br />Words of the form $'string' are treated specially. The word expands to string, with backslash-escaped characters replaced as speci-<br /> fied by
2011-03-20 00:42:00
7003
原创 awk print列的N种形式
问题:用awk过来出、var/log/messages文件里的第四列答案:N种.理解了这些,对shell编程的' " /就不会害怕了 cat messages | awk '{print $4}'cat messages | awk {'print $4'}cat messages | awk /{print/ /$4/}cat messages | awk "{print
2011-03-19 23:24:00
8395
转载 信号量 互斥锁 条件变量的区别
转自:http://blog.chinaunix.net/u3/108685/showart_2127853.html 信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。有的时候锁和信号量会同时使用的” 也就是说
2010-11-27 17:37:00
8498
转载 Firefox出现aspx提示保存窗口的解决
Firefox出现aspx提示保存窗口的解决2010-08-04 09:05进入:C:/Documents and Settings/当前用户名/Application Data/Mozilla/Firefox/Profiles下面有一个文件夹 一般就是default.或是以default结尾的。继续进入找到:mimeTypes.rdf 删除.重启firefox 即可.
2010-08-30 22:31:00
1330
转载 关于socket阻塞与非阻塞情况下的recv、send、read、write返回值
1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有 区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:返回 值 2、阻塞模式与非阻塞模式下write的返回值各代表什么意思? 有没有区别?阻 塞与非阻塞write返回值没有区分,都是 0发送数据大小,特别:返回值
2010-07-05 00:00:00
3225
转载 深入理解socket(转)
要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。对于网络编程,我们也言必称TCP/IP,似乎其它网络协议已经不存在了。对于TCP/IP,我们还知道TCP和UDP,前者可以保证数据的正确和可靠性,后者则允许数据丢失。最后,我们还知道,在建立连接前,必须知道对方的IP
2010-06-23 17:00:00
2481
1
转载 再论精确延时(usleep,nanosleep,select)
<br />转自:http://hi.baidu.com/hesper/blog/item/059ec73df71fe9cf9e3d6214.html<br /> 再论精确延时(usleep,nanosleep,select)<br />/*<br /> make: gcc -o test_sleep test_sleep.c<br />*/<br />/* #include "comm_main.h" */<br />#include <stdio.h>
2010-06-21 16:27:00
1884
转载 Linux系统的文件句柄数量问题
<br />from: http://www.soft6.com/tech/16/165253.html<br />在Linux下面部署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题,其实Linux是有文件句柄限制的(就像WinXP?),而且默认不是很高,一般都是1024,作为一台生产服务器,其实很容易就达到这个数量,因此我们需要把这个值改大一些。<br /> 大概知道ulimit这个命令是相关的,上Google搜索了一下,大多数说的很
2010-06-18 10:29:00
1935
转载 手机里的flash
flash是存储芯片的一种,通过特定的程序可以修改里面的数据。Flash存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘
2010-06-10 09:30:00
866
原创 Linux and Windows snprintf区别
<br />转自:http://blog.chinaunix.net/u/19782/showart_371379.html<br /> <br />今天使用snprintf函数时想到了: <br /> strcpy, strncpy<br /> strcmp, strncmp<br /> strcat, strncat<br /> sprintf, snprintf<br /><br />最喜欢用的就是snprintf, 因为它会自动在后面加'/0'.
2010-06-09 09:17:00
4023
转载 C Runtime Library来历, API, MFC, ATL关系(转帖)
首先说明,我google了半天,想找到英文的关于这个资料,但是实在找不到,只好转载国人的讨论。 CRT原先是指Microsoft开发的C Runtime Library,用于操作系统的开发及运行。后来在此基础上开发了C++ Runtime Library,所以现在CRT是指Microsoft开发的C/C++ Runtime Library。在VC的CRT/SRC目录下,可以看到CRT的源码,不仅有C的,也有C++的。 CRT原先的目的就是支持操作系统的运行。因为Windows
2010-06-08 13:35:00
699
原创 C++中的new
郁闷,搞到现在也没完全搞清楚new的完整用法,google、baidu都查遍了。也许应该找c++的标准看看。保存一些资料,明天继续研究。 ----------------------------------------------------------------------------------------------------------------------------
2007-04-19 01:34:00
768
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人