Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¹ØÓÚqemuµ÷ÊÔlinuxÄں˵ÄÎÊÌâ

ÎÒÔÚÍøÉÏÕÒÁ˺ܶà×ÊÁÏ£¬µ«ÊǹØÓÚʹÓÃqemuµ÷ÊÔÄں˵Ķ«Î÷¾ÍûÕÒµ½£¬Ö»ÓÐÒÔÏÂÒ»¸öÍøÒ³£º

²½ÖèÈçÏÂ

1¡£Æô¶¯Qemu,ʹÓôóS²ÎÊý qemu -kernel bzImage -hda linux-0.2.img -append "root=/dev/hda" -S£¬ÏµÍ³»áÌø³öÒ»¸öºÚÏÔʾ½çÃæ£¬ÎÞÈκÎÄÚÈÝ¡£´Ëʱͨ¹ý ctrl+alt+1 Óë ctrl+alt+2¿ÉÒÔÇл»£¬Ò»¸öÊÇÆÁÄ»Êä³ö£¬Ò»¸öÊÇqemu¿ØÖÆÌ¨¡£

2¡£Çл»µ½qemu¿ØÖÆÌ¨£¬ÊäÈëÃüÁîgdbserver 1234

3¡£Í¬Ê±´ò¿ªgdb³ÌÐò£¬Í¨¹ýqemu˵Ã÷ÖÐÌṩµÄ·½·¨¼È¿É½øÐе÷ÊÔ£º

Then launch gdb on the 'vmlinux' executable:

> gdb vmlinux
In gdb, connect to QEMU:

(gdb) target remote localhost:1234Äã¿ÉÒÔÉèÖöϵãÈçbreak start_kernel£¬Í£ÔÚlinuxÄں˵ĵÚÒ»¸öc³ÌÐòÖ®ÉÏ¡£


µ«ÊÇÎÒÔÚʹÓõÄÊǺܲ¢Ã»ÓÐÏÔʾIn gdb, connect to QEMU: £¬²»ÖªµÀÊDz»ÊÇÎÒµÄqemuûÓÐÁ¬ÉÏgdb£¬ÇëÎÊÓ¦¸ÃÈçºÎʹÓÃqemuµ÷ÊÔlinuxÄںˣ¿£¿£¿£¿


¸ß·ÖÏàËÍ£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡

ÎÒÊÔÑé¹ý£¬²»ÐеÄ

qemu×ÜÊǵȴýÁ¬½Ó£¬¶øgdbÕâ¶ËnextÒ²²»Ö´ÐУ¬ËµboundÖ®ÀàµÄ¶«Î÷


ÎÒÒ²ÊÇÐÄÁ¦½»´á°¡

Ôõô°ì£¿»¹ÓÐûÓÐÖªµÀµÄ£¬Ð¡µÜÔÚ´Ëл¹ýÁË

°¥ ½áÌù°É ÕæÊÇ..........


Ïà¹ØÎÊ´ð£º

Linux ½ø³ÌÎÊÌâ

linux Ͻø³Ì´´½¨¡£
ʹÓÃvfork() º¯Êý´´½¨ÁË×Ó½ø³Ìºó£¬×Ó½ø³ÌÏÈÐÐÖ´ÐУ¬ÔÚ×Ó½ø³Ìµ÷ÓÃexit»òexec֮ǰ¸¸½ø³Ì´¦ÓÚʲô״̬£¿£¿
²»ÖªµÀ£»Ê×ÏÈδ±ØÊÇ×Ó½ø³ÌÏÈÖ´ÐУ»µÚ2¸¸½ø³ÌÒ²´¦ÓÚÖ´ÐÐ״̬£»ÖÁÓÚ¸¸½ø³Ìµ½µ××öʲô£»¿´´ ......

¹ØÓÚlinuxÏÂsocket±à³ÌµÄÎÊÌ⣡ - C/C++ / CÓïÑÔ

ÓÉÓÚÎҲŸոսӴ¥socket±à³Ì£¬×Ô¼ºÐ´ÁËÒ»¸ö¼òµ¥³ÌÐò£¬µ«¾ÍÊÇÔÚÔËÐеÄʱºò³öÏֶδíÎó£¬ÎÞ·¨½â¾ö£¬ÏÖÔÚÎÒ°ÑÔ´´úÂëÌù³öÀ´£¬Çë¸÷λ´óϺָÕýһϣ¡Ð»Ð»£¡
#include<stdio.h>
#include<stdlib.h>
#include& ......

Linux C ¶Î´íÎó - C/C++ / CÓïÑÔ

´úÂëÌ«¶à£¬²»ºÃÌù£¬
´óÖÂÉæ¼°µ½ÕâЩ£º
char *arg[MAXSIZE];
char *buffer[MAXSIZE];
.........
arg[k]=(char*)malloc(sizeof(char)*j);
strcpy(arg[k],buffer);
.................[color=#993300][/color]
µ ......

Çólinux time ÃüÁîµÄʵÏÖ´úÂë

ÈçÌ⣬лл

LinuxÊÇ¿ªÔ´µÄ£¬ÄãËÑË÷LinuxÔ´³ÌÐòĿ¼¾Í¿ÉÒÔÕÒµ½shellÃüÁîtimeµÄʵÏÖ´úÂë¡£

kernel/time.c

ÄãµÄÍ·ÏñºÜ²»´íѽ

ʹÓú¯ÊýtimeΪ½ø³ÌÌṩµ±Ç°µÄʱ¼ä
#include<time.h>
time_t time(time ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ