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

ʹÓà GDB µ÷ÊÔ Linux Èí¼þ

×÷Õߣºdio
email: hao@peng.com.cn
ÈÕÆÚ£º8/21/2001 1:00:47 PM
ÄÚÈÝ£º
±àÒë
ÔËÐÐ gdb
µ÷ÊԻỰʾÀý
ʹÓöϵã
¸ü¶à¶ÏµãºÍ¹Û²ìµã
Core Îļþ
¶ÑÕ»¸ú×Ù
Á¬½Óµ½ÆäËü½ø³Ì
ÆäËüС¼¼ÇÉ
½áÊøÓï
²Î¿¼×ÊÁÏ
¹ØÓÚ×÷Õß
GNU µ÷ÊÔÆ÷¼ò½é
×÷Õß:David Seager
Linux µÄ´ó²¿·ÖÌØÉ«Ô´×ÔÓÚ shell µÄ GNU µ÷ÊÔÆ÷£¬Ò²³Æ×÷ gdb¡£gdb ¿ÉÒÔÈÃÄú²é¿´³ÌÐòµÄÄÚ²¿½á¹¹¡¢´òÓ¡±äÁ¿Öµ¡¢ÉèÖöϵ㣬ÒÔ¼°µ¥²½µ÷ÊÔÔ´´úÂë¡£ËüÊǹ¦Äܼ«ÆäÇ¿´óµÄ¹¤¾ß£¬ÊÊÓÃÓÚÐÞ¸´³ÌÐò´úÂëÖеÄÎÊÌâ¡£ÔÚ±¾ÎÄÖУ¬ÎÒ½«³¢ÊÔ˵Ã÷ gdb Óжà°ô£¬¶àʵÓá£
±àÒë
¿ªÊ¼µ÷ÊÔ֮ǰ£¬±ØÐëÓóÌÐòÖеĵ÷ÊÔÐÅÏ¢±àÒëÒªµ÷ÊԵijÌÐò¡£ÕâÑù£¬gdb ²ÅÄܹ»µ÷ÊÔËùʹÓõıäÁ¿¡¢´úÂëÐкͺ¯Êý¡£Èç¹ûÒª½øÐбàÒ룬ÇëÔÚ gcc£¨»ò g++£©ÏÂʹÓöîÍâµÄ -g Ñ¡ÏîÀ´±àÒë³ÌÐò£º
gcc -g eg.c -o eg
ÔËÐÐ gdb
ÔÚ shell ÖУ¬¿ÉÒÔʹÓà gdb ÃüÁî²¢Ö¸¶¨³ÌÐòÃû×÷Ϊ²ÎÊýÀ´ÔËÐÐ gdb£¬ÀýÈç gdb eg£»»òÕßÔÚ gdb ÖУ¬¿ÉÒÔʹÓà file ÃüÁîÀ´×°ÈëÒªµ÷ÊԵijÌÐò£¬ÀýÈç file eg¡£ÕâÁ½ÖÖ·½Ê½¶¼¼ÙÉèÄúÊÇÔÚ°üº¬³ÌÐòµÄĿ¼ÖÐÖ´ÐÐÃüÁî¡£×°Èë³ÌÐòÖ®ºó£¬¿ÉÒÔÓà gdb ÃüÁî un À´Æô¶¯³ÌÐò¡£
µ÷ÊԻỰʾÀý
Èç¹ûÒ»ÇÐÕý³££¬³ÌÐò½«Ö´Ðе½½áÊø£¬´Ëʱ gdb ½«ÖØÐ»ñµÃ¿ØÖÆ¡£µ«Èç¹ûÓдíÎ󽫻áÔõôÑù£¿ÕâÖÖÇé¿öÏ£¬gdb »á»ñµÃ¿ØÖƲ¢ÖжϳÌÐò£¬´Ó¶ø¿ÉÒÔÈÃÄú¼ì²éËùÓÐÊÂÎïµÄ״̬£¬Èç¹ûÔËÆøºÃµÄ»°£¬¿ÉÒÔÕÒ³öÔ­Òò¡£ÎªÁËÒý·¢ÕâÖÖÇé¿ö£¬ÎÒÃǽ«Ê¹ÓÃÒ»¸öʾÀý³ÌÐò£º
´úÂëʾÀý eg1.c
#include
int wib(int no1, int no2)
{
int result, diff;
diff = no1 - no2;
result = no1 / diff;
return result;
}
int main(int argc, char *argv[])
{
int value, div, result, i, total;
value = 10;
div = 6;
total = 0;
for(i = 0; i < 10; i++)
{
result = wib(value, div);
total += result;
div++;
value--;
}
printf("%d wibed by %d equals %dn", value, div, total);
return 0;
}
Õâ¸ö³ÌÐò½«ÔËÐÐ 10 ´Î for Ñ­»·£¬Ê¹Óà wib() º¯Êý¼ÆËã³öÀÛ»ýÖµ£¬×îºó´òÓ¡³ö½á¹û¡£
ÔÚÄúϲ»¶µÄÎı¾±à¼­Æ÷ÖÐÊäÈëÕâ¸ö³ÌÐò£¨Òª±£³ÖÏàͬµÄÐоࣩ£¬±£´æÎª eg1.c£¬Ê¹Óà gcc -g eg1.c -o eg1 ½øÐбàÒ룬²¢Óà gdb eg1 Æô¶¯ gdb¡£Ê¹Óà un ÔËÐгÌÐò¿ÉÄÜ»á²úÉúÒÔÏÂÏûÏ¢£º
Program received signal SIGFPE, Arithmetic exception.
0x80483ea in wib (no1=8, no2=8) at eg1.c:7
7 result = no1 / diff;
(gdb)
g


Ïà¹ØÎĵµ£º

Linux Ï mysql µÄÏà¹ØÃüÁî

1.µÇ¼£º mysql -uroot -p
2.LinuxÏÂmysql ²»ÄÜÍâÍø·ÃÎÊ
  
   ÒѾ­ÔÚMYSQLÀïgrantÁËȨÏÞÁË¡£ÔÚÍâÍø»¹ÊDz»ÄÜ·ÃÎÊ .
   ÎÊÌ⣺
   cat  /etc/mysql/my.conf
   ÕÒµ½ÏÂÃæÒ»ÐÐ
   bind-address   = 127.0.0.1
   Î ......

LINUX CVSÌí¼ÓÓû§shell

vi adduser.sh È»ºó°ÑÈçÏ´úÂëÌùÈë¡£±£´æµ½CVSROOTĿ¼Ï¡£
#!/bin/bash
#add cvs users
while [ -n "$(echo $1|grep '^_')"];
do
case $1 in
-u) param=$2
echo -e "$param:\c" >>passwd
shift ;;
-p) param=$2
echo -e `./passwdgen.pl $param`":cvsroot" >> passwd;;
*)
exit 1
esac
shift
......

Linux ¼¼ÇÉ£ºÈýø³ÌÔÚºǫ́¿É¿¿ÔËÐеļ¸ÖÖ·½·¨

¼¶±ð£º Öм¶
Éê Òã (shenyyi@cn.ibm.com), Èí¼þ¹¤³Ìʦ, IBM ÖйúÈí¼þ¿ª·¢ÖÐÐÄ
2008 Äê 5 ÔÂ 29 ÈÕ
ÏëÈýø³ÌÔÚ¶Ï¿ªÁ¬½ÓºóÒÀÈ»±£³ÖÔËÐУ¿Èç¹û¸Ã½ø³ÌÒѾ­¿ªÊ¼ÔËÐÐÁ˸ÃÈçºÎ²¹¾È£¿ Èç¹ûÓдóÁ¿ÕâÀàÐèÇóÈçºÎ¼ò»¯²Ù×÷£¿
ÎÒÃǾ­³£»áÅöµ½ÕâÑùµÄÎÊÌ⣬Óà telnet/ssh µÇ¼ÁËÔ¶³ÌµÄ Linux ·þÎñÆ÷£¬ÔËÐÐÁËһЩºÄʱ½Ï³¤µÄÈÎÎñ£¬ ½á¹ûÈ´ ......

linuxÎÄÕÂ

ÔÚLinuxÏÂJdkµÄ°²×°ºÍJava»·¾³±äÁ¿µÄÉèÖÃ
ÔÚLinuxÏÂJdkµÄ°²×°ºÍJava»·¾³±äÁ¿µÄÉèÖÃ
1¡¢µ½www.sun.comÏÂÔØ×îа汾µÄj2sdk for linux
2¡¢°²×°jdk1.4.2 for linux,ÒÔÏÂÊÇÔÚRedhat Linux 9ÏÂΪÀý£º
   ÒÔrootÉí·ÝµÇ¼
   (1)´ò¿ªÒ»¸öÖÕ¶Ë
   (2)ÊäÈëÃüÁîls -l ²é¿´°²×°ÎļþµÄȨÏÞ
  ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ