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

¡¾×ª¡¿Ó¦Óà Valgrind ·¢ÏÖ Linux ³ÌÐòµÄÄÚ´æÎÊÌâ


 
 
 
 
¼¶±ð£º ³õ¼¶
Ñî ¾­ (cdlyangj@cn.ibm.com), Èí¼þ¹¤³Ìʦ, IBM
2008 Äê 11 ÔÂ 27 ÈÕ
ÈçºÎ¶¨Î»Ó¦ÓóÌÐò¿ª·¢ÖеÄÄÚ´æÎÊÌ⣬һֱÊÇ inux Ó¦ÓóÌÐò¿ª·¢ÖеÄÆ¿¾±ËùÔÚ¡£ÓÐÒ»¿î·Ç³£ÓÅÐãµÄ linux Ï¿ªÔ´µÄÄÚ´æÎÊÌâ¼ì²â¹¤¾ß£ºvalgrind£¬Äܹ»¼«´óµÄ°ïÖúÄã½â¾öÉÏÊöÎÊÌâ¡£ÕÆÎÕ valgrind µÄʹÓÃÒÔ¼°¹¤×÷Ô­Àí£¬Äܹ»ÓÐЧµØ¶¨Î»½ø¶ø±ÜÃâÓ¦Óÿª·¢ÖеÄÄÚ´æÎÊÌâ¡£
»ØÒ³Ê×
Valgrind ¸ÅÊö
Ìåϵ½á¹¹
ValgrindÊÇÒ»Ì×LinuxÏ£¬¿ª·ÅÔ´´úÂ루GPL V2£©µÄ·ÂÕæµ÷ÊÔ¹¤¾ßµÄ¼¯ºÏ¡£ValgrindÓÉÄںˣ¨core£©ÒÔ¼°»ùÓÚÄں˵ÄÆäËûµ÷ÊÔ¹¤¾ß×é³É¡£ÄÚºËÀàËÆÓÚÒ»¸ö¿ò¼Ü£¨framework£©£¬ËüÄ£ÄâÁËÒ»¸öCPU»·¾³£¬²¢Ìṩ·þÎñ¸øÆäËû¹¤¾ß£»¶øÆäËû¹¤¾ßÔòÀàËÆÓÚ²å¼þ (plug-in)£¬ÀûÓÃÄÚºËÌṩµÄ·þÎñÍê³É¸÷ÖÖÌض¨µÄÄÚ´æµ÷ÊÔÈÎÎñ¡£ValgrindµÄÌåϵ½á¹¹ÈçÏÂͼËùʾ£º
ͼ 1 Valgrind Ìåϵ½á¹¹
 
Valgrind°üÀ¨ÈçÏÂһЩ¹¤¾ß£º
Memcheck¡£ÕâÊÇvalgrindÓ¦ÓÃ×î¹ã·ºµÄ¹¤¾ß£¬Ò»¸öÖØÁ¿¼¶µÄÄÚ´æ¼ì²éÆ÷£¬Äܹ»·¢ÏÖ¿ª·¢Öоø´ó¶àÊýÄÚ´æ´íÎóʹÓÃÇé¿ö£¬±ÈÈ磺ʹÓÃδ³õʼ»¯µÄÄڴ棬ʹÓÃÒѾ­ÊÍ·ÅÁ˵ÄÄڴ棬ÄÚ´æ·ÃÎÊÔ½½çµÈ¡£ÕâÒ²ÊDZ¾ÎĽ«Öصã½éÉܵIJ¿·Ö¡£
Callgrind¡£ËüÖ÷ÒªÓÃÀ´¼ì²é³ÌÐòÖк¯Êýµ÷Óùý³ÌÖгöÏÖµÄÎÊÌâ¡£
Cachegrind¡£ËüÖ÷ÒªÓÃÀ´¼ì²é³ÌÐòÖлº´æʹÓóöÏÖµÄÎÊÌâ¡£
Helgrind¡£ËüÖ÷ÒªÓÃÀ´¼ì²é¶àÏ̳߳ÌÐòÖгöÏֵľºÕùÎÊÌâ¡£
Massif¡£ËüÖ÷ÒªÓÃÀ´¼ì²é³ÌÐòÖжÑջʹÓÃÖгöÏÖµÄÎÊÌâ¡£
Extension¡£¿ÉÒÔÀûÓÃcoreÌṩµÄ¹¦ÄÜ£¬×Ô¼º±àдÌض¨µÄÄÚ´æµ÷ÊÔ¹¤¾ß¡£
Linux ³ÌÐòÄÚ´æ¿Õ¼ä²¼¾Ö
Òª·¢ÏÖLinuxϵÄÄÚ´æÎÊÌ⣬Ê×ÏÈÒ»¶¨ÒªÖªµÀÔÚLinuxÏ£¬ÄÚ´æÊÇÈçºÎ±»·ÖÅäµÄ£¿ÏÂͼչʾÁËÒ»¸öµäÐ͵ÄLinux C³ÌÐòÄÚ´æ¿Õ¼ä²¼¾Ö£º
ͼ 2£º µäÐÍÄÚ´æ¿Õ¼ä²¼¾Ö
 
Ò»¸öµäÐ͵ÄLinux C³ÌÐòÄÚ´æ¿Õ¼äÓÉÈçϼ¸²¿·Ö×é³É£º
´úÂë¶Î£¨.text£©¡£ÕâÀï´æ·ÅµÄÊÇCPUÒªÖ´ÐеÄÖ¸Áî¡£´úÂë¶ÎÊǿɹ²ÏíµÄ£¬ÏàͬµÄ´úÂëÔÚÄÚ´æÖÐÖ»»áÓÐÒ»¸ö¿½±´£¬Í¬Ê±Õâ¸ö¶ÎÊÇÖ»¶ÁµÄ£¬·ÀÖ¹³ÌÐòÓÉÓÚ´íÎó¶øÐÞ¸Ä×ÔÉíµÄÖ¸Áî¡£
³õʼ»¯Êý¾Ý¶Î£¨.data£©¡£ÕâÀï´æ·ÅµÄÊdzÌÐòÖÐÐèÒªÃ÷È·¸³³õʼֵµÄ±äÁ¿£¬ÀýÈçλÓÚËùÓк¯ÊýÖ®ÍâµÄÈ«¾Ö±äÁ¿£ºint val=100¡£ÐèҪǿµ÷µÄÊÇ£¬ÒÔÉÏÁ½¶Î¶¼ÊÇλÓÚ³ÌÐòµÄ¿ÉÖ´ÐÐÎļþÖУ¬ÄÚºËÔÚµ÷ÓÃexecº¯ÊýÆô¶¯¸Ã³ÌÐòʱ´ÓÔ´³ÌÐòÎļþÖжÁÈë¡£
δ³õʼ»¯Êý¾Ý¶Î£¨.bss£©¡£Î»ÓÚÕâÒ»¶ÎÖеÄÊý¾Ý£¬ÄÚºËÔÚÖ´ÐиóÌÐòÇ°£¬½«Æä³õʼ»¯Îª0»òÕßnull¡£ÀýÈç³öÏÖÔÚÈκκ¯ÊýÖ®ÍâµÄÈ«¾Ö±äÁ¿£ºint sum;
¶Ñ£¨Heap£©¡£Õâ¸ö¶ÎÓÃÓÚÔÚ³ÌÐòÖнøÐÐ


Ïà¹ØÎĵµ£º

linux pppoe

ÊÖÍ·Óиöep9315µÄ°å£¬½ñÌìͻȻÏëÆðÅÜÒ»ÏÂadslÉÏÍø¡£ÍíÉÏ»ØÀ´¾Í¿ªÊ¼¸ã¡£
´Ó10µãµ½ÏÖÔÚ£¬ÖÕÓÚÄܹ»ÅÜÆðÀ´¡£
¸ø´ó¼Ò½è¼øһϡ£
1.±àÒëÄںˣ¬°ÑpppµÄÄÇЩѡÏîÑ¡ÉÏ¡£ (ÎÒÓÃ2.6.8.1µÄkernel£¬cirrus µÄpatch)
2.libpcap-0.9.1 Õâ¸ö°üÊÇpppdÐèÒªµÄ¡£
./configure CC=arm-linux-gcc CFLAGS=-msoft-float --target=arm-linu ......

Libtool´´½¨ºÍʹÓÃlinux϶¯Ì¬¿â

Îļþfun.c£¬fun.h£¬hello.c£¬hello.h£¬main.c¶¯Ì¬¿âº¯Êý¶¼ÔÚfun.cºÍhello.cÀïÃæ
----------------------------
fun.c:
int add(int a, int b)
{
 return a+b;
}
fun.h:
#ifndef _FUN_H_11
#define _FUN_H_11
int add(int a, int b);
#endif
----------------------------
hello.c:
££i nclude <stdio ......

½ñÌìÎÒÍêÃÀжÔØÁËLinux²Ù×÷ϵͳ£¡£¡£¡

     ½ñÌìÎҳɹ¦µÄжÔØÁËLinux ²Ù×÷ϵͳ£¬ÎҸоõºÜÐË·Ü£¬¾Í´ËÎÒ°ÑÎÒ×öµÄ¹ý³Ì˵Ï¡£
     ÎҵĵçÄÔ×°ÁË˫ϵͳÏÈ×°µÄÊÇWindows XP SP3ϵͳ£¬ºóÀ´ÔÚÒ»¸ö10GµÄÂß¼­·ÖÇøÖÐ×°Á˸öMandriva-linux-2008£¬Ìý˵Linuxϵͳ²»ÄÜËæ±ãɾ³ý£¬ÄÇÑù¿ÉÄÜ»áÆÆ»µÓ²ÅÌÖ÷Òýµ¼¼Ç¼£¨mbr£©£¬Òò´ËÎÒ¾ÍÔÚÍøÉÏ ......

Windows³ÌÐòÔ±ÈçºÎתÏòLinux¿ª·¢Ó¦Óã¿


ÕâÊÇÒ»·â·¢µ½ÓÊÏäÀïÃæµÄÓʼþ£¬¸Ð¾õÓеã´ú±íÐÔ£¬ÕâÀï×ö¸öͳһ»Ø´ð£¬Ò»¼ÒÖ®ÑÔ¹þ£¬»¶Ó­ÅÄש¡£
Ô­ÎÄÈçÏ£º
ÎÒ´Ócsdnѧϰ´ó±¾ÓªµÃµ½ÄúµÄÐÅÏ¢¡£²»ºÃÒâ˼´ò½ÁÄú¡£
ÎÒÏÖÔÚÓÃc++ÔÚlinuxÏ¿ª·¢´óÐÍÓ¦ÓóÌÐò¡£ÎÒÏëÇë½ÌÊÇ·ñÖµµÃÉîÈëѧϰlinux kernel¡£
ÎÒûÓÐÌرð¶àµÄʱ¼ä¡£ÁíÍâÎÒÓжàÄêWindowsÏ¿ª·¢Ó¦ÓóÌÐòµÄ¾­Ñé¡£
ÎҵĻشð£ ......

linuxѧϰ±Ê¼Ç£¨1£©

0/viµÄʹÓÃ:
Ctrl + f  ÆÁÄ»ÏòÇ°·­¶¯Ò»Ò³£¨³£Óã©
Ctrl + b  ÆÁÄ»Ïòºó·­¶¯Ò»Ò³£¨³£Óã©
Ctrl + d  ÆÁÄ»ÏòÇ°·­¶¯°ëÒ³
Ctrl + u  ÆÁÄ»Ïòºó·­¶¯°ëÒ³
n<space>  °´ÏÂÊý×ÖºóÔÙ°´¿Õ¸ñ¼ü£¬¹â±ê»áÏòÓÒÒƶ¯ÕâÒ»ÐеÄn¸ö×Ö·û¡£ÀýÈç:20<space>,Ôò¹â±ê»áÏòÓÒÒƶ¯20¸ö×Ö·û
0   &nbs ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ