nm命令显示的符号类型

来源:互联网 发布:禁止加载驱动软件 编辑:程序博客网 时间:2024/06/05 08:22

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的符号就是此类型

eg:

# nm -l wpa_supplicant

08139cab T ACCESS_DESCRIPTION_free
081caa98 R ACCESS_DESCRIPTION_it
08139cda T ACCESS_DESCRIPTION_new
081caae0 r ACCESS_DESCRIPTION_seq_tt
0814c298 T AES_cbc_encrypt
0814bf10 T AES_cfb128_encrypt

......

080a14a0 t T.49    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_auth/eapol_auth_sm.c:504
080a5570 t T.49    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server.c:209
080d5100 t T.49    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/drivers/driver_wired.c:463
080a1530 t T.50    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_auth/eapol_auth_sm.c:521
080a55d0 t T.50    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server.c:283
080d5200 t T.50    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/drivers/driver_wired.c:90
080a56e0 t T.51    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server.c:306
080a57c0 t T.52    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server.c:329
080a59b0 t T.53    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server.c:366
080a5a80 t T.54    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server.c:398
080a5d70 t T.56    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server.c:455
080a5dd0 t T.57    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server.c:517
080526c0 t T.64    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/config_file.c:41
080753a0 t T.68    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/p2p/p2p_sd.c:162
080938e0 t T.76    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_supp/eapol_supp_sm.c:541
08093940 t T.77    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_supp/eapol_supp_sm.c:274
080939d0 t T.78    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_supp/eapol_supp_sm.c:316
08093a40 t T.79    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_supp/eapol_supp_sm.c:327
080947c0 t T.80    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_supp/eapol_supp_sm.c:453
08093ab0 t T.81    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_supp/eapol_supp_sm.c:480
08093b10 t T.83    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_supp/eapol_supp_sm.c:497
08093b70 t T.84    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_supp/eapol_supp_sm.c:525
0805a800 t T.86    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/rsn_supp/peerkey.c:68
08096900 t T.99    /home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap.c:467

....

nm -l wpa_supplicant | awk '{print $4}' | sort | awk -F ':' '{print $1}' | uniq

筛选 ,排序,去掉:+行数 ,除去重复,

/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/scan.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/sme.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/ap_config.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/ap_drv_ops.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/ap_list.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/ap_mlme.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/authsrv.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/beacon.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/ctrl_iface_ap.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/drv_callbacks.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/hostapd.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/hw_features.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/ieee802_11_auth.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/ieee802_11.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/ieee802_1x.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/p2p_hostapd.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/peerkey_auth.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/pmksa_cache_auth.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/sta_info.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/tkip_countermeasures.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/utils.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/wmm.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/wpa_auth.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/wpa_auth_glue.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/wpa_auth_ie.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/ap/wps_hostapd.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/common/ieee802_11_common.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/common/wpa_common.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/aes-cbc.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/aes-unwrap.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/aes-wrap.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/crypto_openssl.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/dh_groups.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/md5.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/ms_funcs.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/random.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/sha1.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/sha1-pbkdf2.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/sha1-tlsprf.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/sha256.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/crypto/tls_openssl.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/drivers/driver_hostap.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/drivers/driver_nl80211.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/drivers/drivers.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/drivers/driver_wext.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/drivers/driver_wired.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/drivers/linux_ioctl.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/drivers/netlink.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/drivers/rfkill.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_common/chap.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_common/eap_common.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_common/eap_peap_common.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_common/eap_wsc_common.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_auth/eapol_auth_sm.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eapol_supp/eapol_supp_sm.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap_gtc.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap_leap.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap_md5.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap_methods.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap_mschapv2.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap_otp.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap_peap.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap_tls.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap_tls_common.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap_ttls.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/eap_wsc.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_peer/mschapv2.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server_identity.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server_methods.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/eap_server/eap_server_wsc.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/l2_packet/l2_packet_linux.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/p2p/p2p_build.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/p2p/p2p.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/p2p/p2p_dev_disc.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/p2p/p2p_go_neg.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/p2p/p2p_group.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/p2p/p2p_invitation.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/p2p/p2p_parse.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/p2p/p2p_pd.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/p2p/p2p_sd.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/p2p/p2p_utils.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/rsn_supp/peerkey.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/rsn_supp/pmksa_cache.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/rsn_supp/preauth.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/rsn_supp/wpa.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/rsn_supp/wpa_ie.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/utils/base64.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/utils/common.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/utils/eloop.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/utils/ip_addr.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/utils/os_unix.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/utils/radiotap.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/utils/uuid.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/utils/wpabuf.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/utils/wpa_debug.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/wps/wps_attr_build.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/wps/wps_attr_parse.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/wps/wps_attr_process.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/wps/wps.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/wps/wps_common.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/wps/wps_dev_attr.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/wps/wps_enrollee.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/../src/wps/wps_registrar.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/wpas_glue.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/wpa_supplicant.c
/home/dongsheng/p2p-pc-independent/hostap-2011-0705/wpa_supplicant/wps_supplicant.c

原创粉丝点击