ÀûÓÃKGDBµ÷ÊÔLinux kernel
´´½¨Ê±¼ä£º2010-01-27
×÷ÕߣºSteven Yang
E-mail£ºmqyoung@gmail.com
ΪÁ˸ßЧµÄ¶Ôkernel½øÐе÷ÊÔ£¬×÷ÕßÔÚʵÑéÊÒÀûÓÃÒÑÓеÄ×ÊÔ´½øÐл·¾³ÅäÖá£Ê×ÏÈÊÇÓ²¼þ»·¾³£¬ÎÒÓÐÁ½¸öPC£¬
Ò»¸öÊÇP III£¬Debian£¨Target£©
Ò»¸öÊÇAMD 64£¬Ubuntu£¨Developer£©
Ҫͨ¹ýDeveloperµ÷ÊÔTarget£¬Õâ¾ÍÐèÒª¸øTargetÖØ±àÄںˣ¬²¢½øÐд®¿Úµ÷ÊÔÏà¹ØÉèÖ㬶øDeveloperÐèҪװһ¸ö32λµÄÐéÄâ»úÓÃ×÷µ÷ÊÔ¡£ÈçÏÂΪÏêϸµÄÅäÖùý³Ì¡£
1 KGDB Introduction
KGDB is a debugger for the Linux kernel. It requires two machines
that are connected via a serial connection. The serial connection may
either be an RS-232 interface using a null modem cable, or via the
UDP/IP networking protocol (KGDB over Ethernet, KGDBoE).
KGDB was originally implemented as a patch to Linux kernel, but it has
been included in the official kernel in 2.6.26. The target machine (the
one being debugged) runs the patched kernel and the other (host)
machine runs gdb. The GDB remote protocol is used between the two
machines.
KGDB is available for the following architectures: x86, x86-64, PowerPC, ARM, MIPS, and S390.
It is free software released under the terms of the GNU General Public
License. Until 2006 kgdb was maintained by Linsyssoft Technologies.,
after which Jason Wessel at Wind River Systems, Inc. took over as the
official maintainer.
Ingo Molnar and Jason Wessel created a slimmed-down and cleaned up
version of KGDB which was called "kgdb light" (without Ethernet support
and many other hacks). This was the one merged into the 2.6.26
kernel.[1] The version of kgdb in the 2.6.26 kernel supports only rs232
using a driver which can split debugger inputs and console inputs such
that only a single rs232 port is required.
Jason Wessel created a kgdb test suite which was merged into the 2.6.26
kernel in order to regression test the kgdb core as well as to aid in
the validation of future architecture support for kgdb.
from: http://en.wikipedia.org/wiki/KGDB
Refer: http://kgdb.linsyssoft.co
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
Ê×ÏÈ£¬¼Çסvi±à¼Æ÷µÄÁ½¸öģʽ£º1¡¢ÃüÁîģʽ
2¡¢±à¼Ä£Ê½
¡£
¡¡
¡¡ÔÚÒ»¸öUNIX/LinuxµÄshellÃüÁî»òÕßÒ»¸öÒÔб¸Ü£¨/£©¡¢Îʺţ¨?£©»òðºÅ£¨:£©¿ªÊ¼µÄviÃüÁîºóÃæÓû§ÐèÒª¼üÈë»Ø³µ¼ü£¬¶øÒªÇл»µ½viÃüÁî
ģʽÐèÒª°´Esc¼ü¡£×¢Ò⣬ÒÔðºÅ£¨:£©»òÕßб¸Ü£¨/£© ¿ªÊ¼µÄviÃüÁî»áÏÔʾÔÚÆÁÄ»µ×²¿£¬µ«ÆäËûÃüÁî¶¼²»»áÏÔʾÔÚÆÁÄ»É ......
ÍøÉϸ÷¸öÖÐÎÄLinuxÉçÇøÓÐÏ൱¶à¹ØÓڴ˵ÄÌÖÂÛ£¬´ó¶àÊýʹÓÃÕßΪÁË»ñµÃÍêÉÆµÄÖÐÎÄÏÔʾЧ¹û£¬ÒÔ¼°ÎªÁ˱£³ÖºÍWindowsµÄ¼æÈÝ(Ö÷ÒªÊÇÖ¸ÒѹÒÔØµÄWindows·ÖÇøµÄÕýÈ·ÏÔʾ)£¬Í¨³£»áÑ¡Ôñgb2312»òÕßgb18030×÷ΪϵͳĬÈÏ×Ö·û¡£
µ«ÊÇ£¬Ê¹ÓÃUnicode±àÂëÊǵ±Ç°¼ÆËã»ú²Ù×÷ϵͳµÄÇ÷ÊÆ¡£×÷Ϊһ¸ö¼ÆËã»úµÄ¶àλ×Ö·û±íʾϵͳ£¬Unicode Ö§³ÖÊÀ½çÉÏË ......
1. /proc/sys/net/core/rmem_max — ×î´óµÄTCPÊý¾Ý½ÓÊÕ»º³å
2. /proc/sys/net/core/wmem_max — ×î´óµÄTCPÊý¾Ý·¢ËÍ»º³å
3. /proc/sys/net/ipv4/tcp_timestamps — ʱ¼ä´ÁÔÚ(Çë²Î¿¼RFC 1323)TCPµÄ°üÍ·Ôö¼Ó12¸ö×Ö½Ú
4. /proc/sys/net/ipv4/tcp_sack — ÓÐÑ¡ÔñµÄÓ¦´ð
5. /proc/sys/net/ipv4/tcp_windo ......
Linuxϵͳ³öÏÖÎÊÌâʱ£¬ÎÒÃDz»½öÐèÒª²é¿´ÏµÍ³ÈÕÖ¾ÐÅÏ¢£¬¶øÇÒ»¹ÒªÊ¹ÓôóÁ¿µÄÐÔÄܼà²â¹¤¾ßÀ´ÅжϾ¿¾¹ÊÇÄÄÒ»²¿·Ö£¨ÄÚ´æ¡¢CPU¡¢Ó²ÅÌ……£©³öÁËÎÊÌâ¡£ÔÚLinuxϵͳÖУ¬ËùÓеÄÔËÐвÎÊý±£´æÔÚÐéÄâĿ¼/procÖУ¬»»¾ä»°Ëµ£¬ÎÒÃÇʹÓõÄÐÔÄÜ¼à¿Ø¹¤¾ßÈ¡µ½µÄÊý¾Ýֵʵ¼ÊÉϾÍÊÇÔ´×ÔÓÚÕâ¸öĿ¼£¬µ±Éæ¼°µ½ÏµÍ³¸ß¹Àʱ£¬ÎÒÃǾͿÉÒÔÐÞ ......