linuxÄں˵÷ÊÔÖ¸ÄÏ
һЩǰÑÔ
×÷ÕßÇ°ÑÔ
֪ʶ´ÓÄÄÀïÀ´
Ϊʲô׫д±¾Îĵµ
ΪʲôÐèÒª»ã±à¼¶µ÷ÊÔ
***µÚÒ»²¿·Ö£º»ù´¡ÖªÊ¶***
×ܸ٣ºÄÚºËÊÀ½çµÄÏÝÚå
Ô´ÂëÔĶÁµÄÏÝÚå
´úÂëµ÷ÊÔµÄÏÝÚå
ÔÀíÀí½âµÄÏÝÚå
½¨Á¢µ÷ÊÔ»·¾³
·¢ÐаæµÄÑ¡ÔñºÍ°²×°
°²×°½»²æ±àÒ빤¾ß
bin¹¤¾ß¼¯µÄʹÓÃ
qemuµÄʹÓÃ
initrd.imgµÄÔÀíÓëÖÆ×÷
x86ÐéÄâµ÷ÊÔ»·¾³µÄ½¨Á¢
armÐéÄâµ÷ÊÔ»·¾³µÄ½¨Á¢
arm¿ª·¢°åµ÷ÊÔ»·¾³µÄ½¨Á¢
gdb»ù´¡
»ù±¾ÃüÁî
gdbÖ®gui
gdb¼¼ÇÉ
gdbºê
»ã±à»ù´¡--X86ƪ
Óû§ÊÖ²á
AT&T»ã±à¸ñʽ
ÄÚÁª»ã±à
»ã±àÓëCº¯ÊýµÄÏ໥µ÷ÓÃ
µ÷ÓÃÁ´ÐγɺͲÎÊý´«µÝ
CÄѵãµÄ»ã±à½âÊÍ
ÓÅ»¯¼¶±ðµÄÓ°Ïì
»ã±à»ù´¡--ARMƪ
Óû§ÊÖ²á
µ÷ÓÃÁ´ÐγɺͲÎÊý´«µÝ
Ô´Âëä¯ÀÀ¹¤¾ß
µ÷ÓÃͼÉú³É¹¤¾ß
find + grep
wine + SI
global
Source-Navigator
vim + cscope/ctags
kscope
lxr
SIµÈÓëgdbµÄÌصã
µ÷ÓÃÁ´¡¢µ÷ÓÃÊ÷ºÍµ÷ÓÃͼ
ÀíÏëµ÷ÓÃÁ´
º¯ÊýÖ¸Õëµ÷ÓÃ
µ÷ÓÃÁ´µÄ²ã´Î
·ÇÀíÏëµ÷ÓÃÁ´
µ÷ÓÃÊ÷Óëµ÷ÓÃͼ
´©Ô½Ã¤Çø
´©Ô½gdbµÄäÇø
´©Ô½½»²æË÷Òý¹¤¾ßµÄäÇø
¹¤³Ì·½·¨
bug Óë OOPS
***µÚ¶þ²¿·Ö£ºÄں˷ÖÎö***
µ÷ÊÔÏà¹Ø×Óϵͳ
kgdbÔ´Âë·ÖÎö
sysrq
oprofile
kprobes
Çý¶¯·ÖÎö
ÔØÈëÄ£¿é·ûºÅ
seq_file.cµÄ·ÖÎö
module.cµÄ·ÖÎö
Öжϴ¦Àí¹ý³Ì
s3c24xxÄÚ´æ³õʼ»¯·ÖÎö
ÐéÄâµØÖ·¿Õ¼ä
Óû§²ãµÄ¹Û²ì´°
½»»¥£¬´ÓÄں˲ã·ÖÎö
Àí½âÉ豸ģÐÍ
ÃæÏò¶ÔÏóµÄʵÏÖ
É豸ģÐ͵ķֲã
ÍâΧ֧³Ö»úÖÆ
Îļþϵͳ
***µÚÈý²¿·Ö£ºÆäËû¹¤¾ß***
strace
ltrace
SystemTap
MEMWATCH
YAMD
Magic SysRq
¸½Â¼£ºÉçÇø½»Á÷Ïà¹Ø
²¹¶¡Ìá½»Ïà¹ØÎĵµ
²¹¶¡ÖÆ×÷ÓëÌύʾ·¶
gitʹÓÃ
¸½Â¼£ºÄں˲ο¼Êé¼®ÎÄÕÂ
˽È˱¸Íü
linuxÄں˵÷ÊÔÖ¸ÄÏ
´óº£ÀïµÄÓãÓкܶ࣬¶øÎÒÃÇÐèÒªµÄÊÇÓã¹³Ò»Ö»
±¾ÎĵµÓÉ´ó¼ÒÒ»Æð×ÔÓɱàд£¬Ð޸ĺÍÀ©³ä£¬sniper¸ºÔðά»¤¡£ÒýÓÃÍâÀ´µÄÎÄÕÂҪעÃ÷×÷ÕߺÍÀ´´¦¡£±¾ÎĵµËùÓÐÃüÁÊÇÔÚubuntu/debianϵIJÙ×÷¡£Ñ¡È¡µÄÄÚºËÔ´Âë´ÓÎĵµ¿ªÊ¼±àдʱ×îеÄÄں˰汾–2.6.26¿ªÊ¼£¬¶øÇÒ»áËæ×ÅlinuxµÄ¸üжø²»¶Ï¸ü»»Ðµİ汾¡£ËùÒÔÎĵµµÄÄÚÈÝ¿ÉÄÜÇ°ºó²»Ò»Ö¡£ÏàÐÅ´ó¼ÒÓÐÄÜÁ¦¿Ë·þÕâ¸öÎÊÌâ¡£
±¾ÎĵµµÄ×Ö·ûͼʾÔÚlinux»·¾³ÏÂÏÔʾÕý³££¬ÔÚwindowÏÂÏÔʾÓÐϸ΢µÄ´íÂÒ¡£
±¾ÎĵµÎ¨Ò»µÄ¸üÐÂÍøÖ·ÊÇ£ºhttp://wiki.zh-kernel.org/sniper תÔØÇë±£Áô´ËÍøÖ·¡£
ÓÐÈκν¨ÒéÇë·¢Óʼþ£ºs3c24xx@gmail.com
ÓÐÈκÎÎÊÌâÇëµ½ÓʼþÁбíÌáÎÊ£ºhttp://zh-kernel.org/mailman/listinfo/linux-kernel
һЩǰÑÔ
×÷ÕßÇ°ÑÔ
Ò»¸öÈËÄ
Ïà¹ØÎĵµ£º
main.c
//³õʼ»¯¶ÓÁÐ
void InitQueue(LiQueue *q)
{
q=(LiQueue*)malloc(sizeof(LiQueue));
q->front=q->rear=NULL;
}
//ÅжÏÊÇ·ñΪ¿Õ
int QueueEmpty(LiQueue *q)
{
if(q->rear==NULL)
{
return 1;
}
else
{
......
~/test
|
|
|------main.c
|------lib
| |
| |------StringLen.h
| |------Strlen.c
| |------Strnlen.c
----------------StringLen.h:
#ifndef _STRING ......
1.±àÒë°²×°libevent
2.±àÒë°²×°Memcached
ÔÚÎÒдÕâƪÎÄÕµÄʱºò£¬libeventÒѾÓÐ1.4.8Îȶ¨°æ
£¬Memcached ServerÒѾÓÐ1.3.0°æ±¾
¡£±¾ÎľÍÒÔÕâÁ½¸ö°æ±¾ÎªÀý£¬ÎÒµÄgccÊÇgcc version 3.3.4 (Debian 1:3.3.4-7)¡£
Ê×ÏÈ°²×°libevent
wget http://www.monkey.org/~provos/libevent-1.4.8-stable.tar.gz
tar zxvf libeven ......
д¹²ÏíÄÚ´æ³ÌÐò£º
/*
* File: server.cpp
* Author: centos
*˵Ã÷£º´Ó¼üÅ̶ÁÈëÊý¾Ý£¬´æ·ÅÔÚ¹²ÏíÄÚ´æÖС£
* Created on 2010Äê3ÔÂ1ÈÕ, ÏÂÎç3:44
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include < ......
~/test
|
|
|------main.c
|------lib
| |
| |------StringLen.h
| |------Strlen.c
| |------Strnlen.c
----------------StringLen.h:
#ifndef _STRING ......