LinuxϵĶδíÎó²úÉúµÄÔÒò¼°µ÷ÊÔ·½·¨
¼ò¶øÑÔÖ®,²úÉú¶Î´íÎó¾ÍÊÇ·ÃÎÊÁË´íÎóµÄÄÚ´æ¶Î£¬Ò»°ãÊÇÄãûÓÐȨÏÞ£¬»òÕ߸ù±¾¾Í²»´æÔÚ¶ÔÓ¦µÄÎïÀíÄÚ´æ,ÓÈÆä³£¼ûµÄÊÇ·ÃÎÊ0µØÖ·.
Ò»°ãÀ´Ëµ,¶Î´íÎó¾ÍÊÇÖ¸·ÃÎʵÄÄڴ泬³öÁËϵͳËù¸øÕâ¸ö³ÌÐòµÄÄÚ´æ¿Õ¼ä£¬Í¨³£Õâ¸öÖµÊÇÓÉgdtrÀ´±£´æµÄ£¬ËûÊÇÒ»¸ö48λµÄ¼Ä´æÆ÷£¬ÆäÖеÄ32λÊDZ£´æÓÉËüÖ¸ÏòµÄgdt±í£¬ºó13λ±£´æÏàÓ¦ÓÚgdtµÄϱ꣬×îºó3λ°üÀ¨Á˳ÌÐòÊÇ·ñÔÚÄÚ´æÖÐÒÔ¼°³ÌÐòµÄÔÚcpuÖеÄÔËÐ춱ð,Ö¸ÏòµÄgdtÊÇÓÉÒÔ64λΪһ¸öµ¥Î»µÄ±í£¬ÔÚÕâÕűíÖоͱ£´æ×ųÌÐòÔËÐеĴúÂë¶ÎÒÔ¼°Êý¾Ý¶ÎµÄÆðʼµØÖ·ÒÔ¼°Óë´ËÏàÓ¦µÄ¶ÎÏÞºÍÒ³Ãæ½»»»»¹ÓгÌÐòÔËÐ춱ð»¹ÓÐÄÚ´æÁ£¶ÈµÈµÈµÄÐÅÏ¢¡£Ò»µ©Ò»¸ö³ÌÐò·¢ÉúÁËÔ½½ç·ÃÎÊ£¬cpu¾Í»á²úÉúÏàÓ¦µÄÒì³£±£»¤£¬ÓÚÊÇsegmentation fault¾Í³öÏÖÁË.
ÔÚ±à³ÌÖÐÒÔϼ¸Àà×ö·¨ÈÝÒ×µ¼Ö¶δíÎó,»ù±¾ÊÇÊÇ´íÎóµØʹÓÃÖ¸ÕëÒýÆðµÄ
1)·ÃÎÊϵͳÊý¾ÝÇø£¬ÓÈÆäÊÇÍù ϵͳ±£»¤µÄÄÚ´æµØַдÊý¾Ý
×î³£¼û¾ÍÊǸøÒ»¸öÖ¸ÕëÒÔ0µØÖ·
2)ÄÚ´æÔ½½ç(Êý×éÔ½½ç£¬±äÁ¿ÀàÐͲ»Ò»ÖµÈ) ·ÃÎʵ½²»ÊôÓÚÄãµÄÄÚ´æÇøÓò
½â¾ö·½·¨
ÎÒÃÇÔÚÓÃC/C++ÓïÑÔд³ÌÐòµÄʱºî£¬ÄÚ´æ¹ÜÀíµÄ¾ø´ó²¿·Ö¹¤×÷¶¼ÊÇÐèÒªÎÒÃÇÀ´×öµÄ¡£Êµ¼ÊÉÏ£¬ÄÚ´æ¹ÜÀíÊÇÒ»¸ö±È½Ï·±ËöµÄ¹¤×÷£¬ÎÞÂÛÄã¶à¸ßÃ÷£¬¾Ñé¶à·á¸»£¬ÄÑ Ãâ»áÔÚ´Ë´¦·¸Ð©Ð¡´íÎ󣬶øͨ³£ÕâЩ´íÎóÓÖÊÇÄÇôµÄdzÏÔ¶øÒ×ÓÚÏû³ý¡£µ«ÊÇÊÖ¹¤“³ý³æ”£¨debug£©£¬ÍùÍùÊÇЧÂʵÍÏÂÇÒÈÃÈËÑá·³µÄ£¬±¾ÎĽ«¾Í"¶Î´íÎó"Õâ¸ö ÄÚ´æ·ÃÎÊÔ½½çµÄ´íÎó̸̸ÈçºÎ¿ìËÙ¶¨Î»ÕâЩ"¶Î´íÎó"µÄÓï¾ä¡£
ÏÂÃ潫¾ÍÒÔϵÄÒ»¸ö´æÔڶδíÎóµÄ³ÌÐò½éÉܼ¸ÖÖµ÷ÊÔ·½·¨£º
1 dummy_function (void)
2 {
3 unsigned char *ptr = 0x00;
4 *ptr = 0x00;
5 }
6
7 int main (void)
8 {
9 dummy_function ();
10
11 return 0;
12 }
×÷Ϊһ¸öÊìÁ·µÄC/C++³ÌÐòÔ±£¬ÒÔÉÏ´úÂëµÄbugÓ¦¸ÃÊǺÜÇå³þµÄ£¬ÒòΪËü³¢ÊÔ²Ù×÷µØַΪ0µÄÄ
Ïà¹ØÎĵµ£º
ÏÖÔÚʹÓà ls -l ÃüÁ²é¿´ÏêϸÐÅÏ¢¸ñʽµÄÎļþÁÐ±í£¬Äú½«»á¿´µ½ÈçÏÂÄÚÈÝ£º
total 5
drwxr-x--- 4 user group 4096 Mar 10 00:37 filename
drwxr-xr-x 21 user group 4096 Mar 10 20:16 ÎļþÃû
-rw------- 1 user group 524 Mar 10 00:40 a
-rw-r--r-- &nb ......
Æô¶¯ÅäÖãº
/etc/init.d/rcS
# mkfs.jffs2 -r yyfs/ -o yy.jffs2 -p -l -n -e 0x8000 -m size
ÄÚºËÆô¶¯ÏÔʾ£º
unable to open an initial console.
½â¾ö£º
´´½¨rootfs¹ý³ÌÖУ¬ÔÚ/devĿ¼ÏÂÊÖ¶¯´´½¨ÈçϽڵ㣺
mknod -m 660 null c 1 3
mknod -m 660 console c 5 1
Taking the GNU/Linux hos ......
fopen("/var/spool/cron/tmp","w+");
/////////////////////////////////////////
££i nclude <sys/types.h>
££i nclude <sys/stat.h>
££i nclude <fcntl.h>
££i nclude <unistd.h>
££i nclude <stdio.h>
££i nclude <string.h>
££i nclude <stdlib.h>
int main(){
in ......
±¾ÎĽâÊÍÁ½ÖÖ×îÁ÷ÐÐµÄ Linux® »ã±àÆ÷ —— GNU Assembler£¨GAS£©ºÍ Netwide
Assembler£¨NASM£© ——
Ö®¼äһЩ±È½ÏÖØÒªµÄÓï·¨²îÒìºÍÓïÒå²îÒ죬°üÀ¨»ù±¾Óï·¨¡¢±äÁ¿ºÍÄÚ´æ·ÃÎÊ¡¢ºê´¦Àí¡¢º¯ÊýºÍÍⲿÀý³Ì¡¢¶ÑÕ»´¦ÀíÒÔ¼°Öظ´Ö´ÐдúÂë¿éµÄ¼¼Êõ·½ÃæµÄ²îÒì¡£
ÓëÆäËûÓïÑÔ²»Í¬£¬»ã±àÓïÑÔ
ÒªÇ󿪷¢ÈËÔ±ÁË ......
Ò»¡¢rpm°ü°²×°·½Ê½²½Ö裺
1¡¢ÕÒµ½ÏàÓ¦µÄÈí¼þ°ü£¬±ÈÈçsoft.version.rpm£¬ÏÂÔص½±¾»úij¸öĿ¼£»
2¡¢´ò¿ªÒ»¸öÖնˣ¬su -³ÉrootÓû§£»
3¡¢cd soft.version.rpmËùÔÚµÄĿ¼£»
4¡¢ÊäÈërpm -ivh soft.version.rpm
¶þ¡¢deb°ü°²×°·½Ê½²½Ö裺
1¡¢ÕÒµ½ÏàÓ¦µÄÈí¼þ°ü£¬±ÈÈçsoft.version.deb£¬ÏÂÔص½±¾»úij¸öÄ¿Â ......