´ò°ÜLinuxϵͳÖеÄBug
À´Ô´£º http://www.xxlinux.com/linux/article/accidence/technique/20070125/7209.html
User Debug ÈÕÖ¾¼Ç¼
µ÷ÊÔÒ»¸ö±ÀÀ£µÄ³ÌÐòµÄµÚÒ»²½ÊÇŪÇåÄÄÀï³öÁË´í¡£zSeries ÉϵÄLinuxÄں˾ßÓÐÕâÑùÒ»¸öÄÚÖÃÌØÐÔ£¬ËüÔÚÓû§½ø³Ì±ÀÀ£Ê±¼Ç¼һЩ»ù±¾µÄµ÷ÊÔÐÅÏ¢¡£ÒªÆôÓÃÕâ¸öÌØÐÔ£¬ÇëÒÔ root Óû§Éí·ÝÖ´ÐÐÈçÏÂÃüÁ
echo 1 >> /proc/sys/kernel/userprocess_debug
µ±Ä³¸ö½ø³Ì±ÀÀ£Ê±£¬ÈÕÖ¾Îļþ£¨/var/log/messages£©ÖÐ¾Í»á¸ø³ö¸½¼ÓµÄÐÅÏ¢£¬°üÀ¨³ÌÐòÖÕÖ¹ÔÒò¡¢¹ÊÕϵØÖ·£¬ÒÔ¼°°üº¬³ÌÐò״̬×Ö£¨PSW£©¡¢Í¨ÓüĴæÆ÷ºÍ·ÃÎʼĴæÆ÷µÄ¼òÒª¼Ä´æÆ÷ת´¢¡£
Mar 31 11:34:28 l02 kernel: User process fault: interruption code 0x10
Mar 31 11:34:28 l02 kernel: failing address: 0
Mar 31 11:34:28 l02 kernel: CPU: 1
Mar 31 11:34:28 l02 kernel: Process simple (pid: 30122, stackpage=05889000)
Mar 31 11:34:28 l02 kernel:
Mar 31 11:34:28 l02 kernel: User PSW: 070dc000 c00ab738
Mar 31 11:34:28 l02 kernel: task: 05888000 ksp: 05889f08 pt_regs: 05889f68
Mar 31 11:34:28 l02 kernel: User GPRS:
Mar 31 11:34:28 l02 kernel: 00000000 004019a0 004019a0 00000000
Mar 31 11:34:28 l02 kernel: 00000003 c00ab732 004008f8 00400338
Mar 31 11:34:28 l02 kernel: 40018ffc 0040061c 40018e34 7ffff800
Mar 31 11:34:28 l02 kernel: 00400434 80400624 8040066e 7ffff800
Mar 31 11:34:28 l02 kernel: User ACRS:
Mar 31 11:34:28 l02 kernel: 00000000 00000000 00000000 00000000
Mar 31 11:34:28 l02 kernel: 00000001 00000000 00000000 00000000
Mar 31 11:34:28 l02 kernel: 00000000 00000000 00000000 00000000
Mar 31 11:34:28 l02 kernel: 00000000 00000000 00000000 00000000
Mar 31 11:34:28 l02 kernel: User Code:
Mar 31 11:34:28 l02 kernel: 44 40 50 00 07 fe a7 4a 00 01 18 54 18 43 18 35
a8 24 00 00
ͼ 1 ±íÃ÷³ÌÐò£¨ÃûΪ“simple”£©ÒÔÒ»¸ö³ÌÐòÖжϴúÂë 0x10 ÖÕÖ¹£¨²Ù×÷ϵͳÔÀí±íÃ÷ÕâÊÇÒ»¸ö¶Îת»»´íÎ󣩣¬¶ø¹ÊÕϵØÖ·Îª 0¡£ºÁÎÞÒÉÎÊ£¬ÓÐÈËʹÓÃÁË¿ÕÖ¸Õë¡£ÏÖÔÚÎÒÃÇÖªµÀ·¢ÉúÁËʲô£¬ÏÂÃæÐèҪŪÇåËü·¢ÉúÔںδ¦¡£
»ù±¾µÄÕï¶Ï
User DebugÈÕÖ¾ÌõÄ¿ËùÌṩµÄÐÅÏ¢¿ÉÓÃÓÚÈ·¶¨³ÌÐòµÄ±ÀÀ£Î»Öá£Ò»Ð©¿ÉÓõŤ¾ß¿É°ïÖú½â¾öÄú¿ÉÄÜ»áÓöµ½µÄ¸÷ÖÖ³ÌÐòÖÕÖ¹ÎÊÌâ¡£ÎÒÃǽ
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
ÔÎĵØÖ·£ºhttp://www.wangzhongyuan.com/archives/488.html
ÒÔÏÂÊÇÒ»¸öLinux/UnixÏÂÓÉÁ½¸ö¹ÜµÀÌṩ˫ÏòÊý¾ÝÁ÷µÄC³ÌÐò£¬ÕâÊDzÙ×÷ϵͳ¿Î³ÌÖо³£Ê¹ÓõĻù±¾³ÌÐò
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <string.h>
int m ......
×î½üÔÚ寫Driver時£¬³£³£Óöµ½ÐèÒª¡¸µÈ´ýÒ»¶Î時間¡¹ÔÙ處ÀíµÄ動×÷£¬ÒÔÍùÎÒ¶¼ÉµÉµµÄÓÃmsleep()»òmdelay()£¬Êâ²»Öª這種busy waiting會holdסcpu資Ô´£¬ÔÚ這¶ÎÆÚ間內¶¼無·¨讓給ÆäËûprocess執ÐУ¬時間¶Ì(10msÒ ......
At first, GCC is used for GNU C Compiler. At present£¬it supports JAVA Ada C++ and so on.
GCC±àÒëÁ÷³Ì·ÖΪ£º
1.Pre-Processing£¨Ô¤´¦Àí£©
gcc -E -o hello.i hello.c
Ñ¡Ïî-E ʹµÃ±àÒëÆ÷ÔÚÔ¤´¦Àí½áÊøÊ±Í£Ö¹±àÒë
Ñ¡Ïî-o Ö¸¶¨GCCµÄÊä ......