Linux ûÓж¨ÒåµÄ·ûºÅ µ÷ÊÔ·½·¨ nmÃüÁî
nmÃüÁî
[
ÔÚGNU CÓïÑÔ¿âÌṩµÄÄÚÈÝÖУ¬ÓнӿڿÉÒÔÓÃÀ´×öÕâ¼þÊ¡£ÓÃÏÂÃæµÄÃüÁî²é¿´£º
nm -D /lib/libc.so.6 | grep log
]
nmÃüÁÊDZȽϼòµ¥¶øÇÒÇ¿´óµÄ¡£ËüÓÃÀ´ÁгöÒ»¸öÄ¿±êÎļþÖеĸ÷ÖÖ·ûºÅ¡£·ûºÅµÄÖÖÀàºÜ¶à£¬ÒÔÏÂÊÇһЩ³£¼ûµÄ·ûºÅÀàÐÍ
nmÊä³ö×Ö·û
º¬Òå
R
Read only symbol. ±ÈÈçÔÚ´úÂëÖÐÓÐÒ»¸öconst MAXDATA = 3095; ÔòMAXDATA¾ÍÊÇÒ»¸öRead only symbol
N
ÕâÊÇÒ»¸öµ÷ÊÔ·ûºÅ
D
ÕâÊÇÒ»¸öÒѾ³õʼ»¯µÄ±äÁ¿µÄ·ûºÅ¡£±ÈÈç´úÂëÖÐint i = 1ºÍchar *str = "Hello"ÔòiºÍstr¶¼ÊÇÕâÖÖÀàÐ͵ķûºÅ
T
Text¶ÎµÄ·ûºÅ¡£×Ó³ÌÐò¶¼ÊÇÕâÖÖ·ûºÅ£¬±ÈÈçÎļþÖÐʵÏÖÁËÒ»¸öº¯Êýfunction£¬Ôòfunction¾ÍÊÇÕâÖÖ·ûºÅ
U
䶨ÒåµÄ·ûºÅ¡£Èç¹ûÎļþÖÐÒýÓÃÁ˲»´æÔڵĺ¯Êý£¬ÔòÕâЩ䶨ÒåµÄº¯Êý·ûºÅ¾ÍÊÇÕâÖÖÀàÐÍ
S
δ³õʼ»¯µÄ·ûºÅ£¬±ÈÈçÈ«¾Ö±äÁ¿int s;ÔòsµÄ·ûºÅ¾ÍÊÇ´ËÀàÐÍ
nmÃüÁîµÄÏêϸÓ÷¨ÒÔ¼°Àý×Ó¼ûÕýÎÄ¡£
ÏÈÀ´Àý×Ó£¬ÒÔÏÂÊÇa.cµÄÄÚÈÝ£º
#include <stdio.h>
static int s_global;
int i = 1;
char *str = "hello, world";
const ID = 10;
extern int e_global;
void function()
{
printf("Hello");
}
int get_x()
{
int x;
x = 33;
return x;
}
ÔÚÖ´ÐÐ"gcc -g -O -c a.c"²úÉúa.oÖ®ºó£¬ÓÃ"nm -A a.o"µÄÊä³öΪ£º
a.o:00000000 R ID
a.o:00000000 T function
a.o:00000014 T get_x
a.o:00000000 D i
a.o: U printf
a.o:00000000 b s_global
a.o:00000004 D str
nmµÄÓ÷¨
nmµÄÓ÷¨ºÜ¼òµ¥£¬ÒÔϼ¸¸ö¹Ø¼ü×ֱȽϳ£Óãº
1¡¢"-A"£¬Áгö·ûºÅÃûµÄʱºòͬʱÏÔʾÀ´×ÔÓÚÄĸöÎļþ¡£
ÕâÔÚͬʱÁгö¶à¸öÎļþ£¨±ÈÈçÒ»¸öÁ´½Ó¿â£©µÄ·ûºÅʱ±È½ÏÓÐÓÃ
2¡¢"-a"£¬ÁгöËùÓзûºÅ
Õ⽫»á°Ñµ÷ÊÔ·ûºÅÒ²ÁгöÀ´¡£Ä¬ÈÏ״̬ϵ÷ÊÔ·ûºÅ²»»á±»Áгö¡£
3¡¢"-l"£¬Áгö·ûºÅÔÚÔ´´úÂëÖжÔÓ¦µÄÐкÅ
Ö¸¶¨Õâ¸ö²ÎÊýºó£¬nm½«ÀûÓõ÷ÊÔÐÅÏ¢ÕÒ³öÎļþÃûÒÔ¼°·ûºÅµÄÐкš£¶ÔÓÚÒ»¸öÒѶ¨Òå·ûºÅ£¬½«»áÕÒ³öÕâ¸ö·ûºÅ¶¨ÒåµÄÐкţ¬¶ÔÓÚ䶨Òå·ûºÅ,ÏÔʾΪ¿Õ
4¡¢"-n"£¬¸ù¾Ý·ûºÅµÄµØÖ·À´ÅÅÐò
ĬÈÏÊǰ´·ûºÅÃû³ÆµÄ×Öĸ˳ÐòÅÅÐòµÄ
5¡¢"-u"£¬Ö»Á
Ïà¹ØÎĵµ£º
linux limits.conf ÅäÖÃ
¡¡¡¡limits.conf Îļþʵ¼ÊÊÇ Linux PAM£¨²åÈëʽÈÏ֤ģ¿é£¬Pluggable Authentication Modules£©ÖÐ pam_limits.so µÄÅäÖÃÎļþ£¬¶øÇÒÖ»Õë¶ÔÓÚµ¥¸ö»á»°¡£
¡¡¡¡limits.confµÄ¸ñʽÈçÏ£º
¡¡¡¡username|@groupname type resource limit
¡¡¡¡username|@groupname£ºÉèÖÃÐèÒª±»ÏÞÖÆµÄÓû§Ãû£¬×éÃûÇ°Ãæ¼Ó@º ......
Ò»£®Ç°ÑÔ
¡¡¡¡LinuxÓµÓзḻ¸÷ÖÖÔ´´úÂë×ÊÔ´,µ«ÊǴ󲿷ִúÂëÔÚWindowsƽ̨Çé¿öÊÇÎÞ·¨Õý³£±àÒëµÄ¡£Windowsƽ̨¸ù±¾ÎÞ·¨Ö±½ÓÀûÓÃÕâЩԴ´úÂë×ÊÔ´¡£Èç¹ûÏëҪʹÓÃÍêÕûµÄ´úÂ룬¾ÍÒª×öÒÆÖ²¹¤×÷¡£ÒòΪC/C++ LibraryµÄ²»Í¬ºÍÆäËûµÄһЩÔÒò£¬ÒÆÖ²C/C++´úÂëÊÇÒ»ÏîÀ§ÄѵŤ×÷¡£±¾ÎĽ«ÒÔÒ»¸öʵ¼ÊµÄÀý×Ó£¨Tar£©À´ËµÃ÷ÈçºÎ°ÑLinux´úÂëÒÆÖ² ......
²»ÖªµÀÔÚʲçÛʱºò£¬×ªÔØLinux ³öÏÖÁË module ÕâÖÖ¶«Î÷£¬µÄÈ·£¬ËüÊÇ Linux µÄÒ»´ó¸ïС£ÓÐÁË module Ö®ºó£¬Ð´
device driver ²»ÔÙÊÇÒ»Ïî¶ñÃΣ¬ÐÞ¸Ä kernel Ò²²»ÔÙÊÇÒ»¼þÍ´¿àµÄÊÂÁË¡£ÒòΪÄã²»ÐèҪÿ´ÎÒª²âÊÔ driver ¾ÍÖØÐÂ
compile kernel Ò»´Î¡£ÄǼòÖ±ÊÇ»áÀÛËÀÈË¡£Module ¿ÉÒÔÔÊÐíÎÒÃǶ¯Ì¬µÄ¸Ä±ä kernel£¬¼ÓÔØ device
dri ......
ÒýÓãºhttp://blog.chinaunix.net/u/12207/showart_2061214.html
¹ØÓÚ2.6.31Óöµ½µÄÎÊÌâ
´íÎóÌáʾ1£º
drivers/built-in.o(.init.text+0x3bad): In function `con_init':
include/trace/events/kmem.h:47: undefined reference to `.L1452'
½â¾ö£º
vi /usr/src/linux/drivers/char/vt.c ÕÒµ½static int __init con_init ......
LinuxϵĽø³ÌͨÐÅÊֶλù±¾ÉÏÊÇ´ÓUnixƽ̨ÉϵĽø³ÌͨÐÅÊֶμ̳жøÀ´µÄ¡£¶ø¶ÔUnix·¢Õ¹×ö³öÖØ´ó¹±Ï×µÄÁ½´óÖ÷Á¦AT&TµÄ±´¶ûʵÑéÊÒ¼°BSD£¨¼ÓÖÝ´óѧ²®¿ËÀû·ÖУµÄ²®¿ËÀûÈí¼þ·¢²¼ÖÐÐÄ£©ÔÚ½ø³Ì¼äͨÐÅ·½ÃæµÄ²àÖØµãÓÐËù²»Í¬¡£Ç°Õß¶ÔUnixÔçÆÚµÄ½ø³Ì¼äͨÐÅÊֶνøÐÐÁËϵͳµÄ¸Ä½øºÍÀ©³ä£¬ÐγÉÁË“ ......