zoukankan      html  css  js  c++  java
  • nm

    nm

           列出目标文件中的符号信息。

           每个符号都列出符号值及符号类型、符号名。

           小写则符号为局部符号,大写则说明符号为全局符号(注意有的既不是局部符号也不是全局符号,例如引入的调试符号)。

    A:符号值为绝对值,在以后的链接过程中不会改变。

    B,b:符号在为初始化的数据段(BSS)

    C:The symbol is common.Common symbol是未初始化的数据,在链接过程中多个common symbol都显示着同样的名字,若符号在某处被定义为过,则common symbol被视为undefinde references。

    D,d:data 段

    G,g:是一个专门对small objects进行初始化的data段。

    i:对于ELF格式文件,表示这个符号是个间接函数,这表明这一符号被一重定位段引用,且该重定位只有在运行时才完成。

    N:调试符号

    P:符号是在一个satac unwing section

    R,r:只读data section

    S,s:在bss段中的small objects中的符号。

    T,t:Text section

    U:未定义

    ?:未知符号类型

    -A,-o,--print-file-name:在每个符号显示其所对应的文件名。

    -a,--debug-syms:显示所有符号。

    -C,-demangle[=style]:解码低级符号名称为用户级名称,将一些有系统加入的下划线去掉,这使得更容易读取函数名,每一种编译器都拥有不同的编码方式,style由具体编译器决定。

    --no-demangle:不要解码低级符号(默认)

    -D,--dynamic:显示dynamic symbols 而不是normal symbols,这只对动态目标有效,例如共享库。

    -f format,--format=format:

           使用输出文件的格式做为格式,例如bsd,sysv,posix

    -B:the same as –format=bsd (for compatibility with MIPS nm)

    -g,--extern-only:只显示具有外部连接属性的符号。

    --plugin name:使用指定的插件来解析其它目标格式。

    -I,--line-numbers:

           对于defined symbol,查找符号的地址的行号

           对于undefined symbol查找the line number of a relocation entry which refers to the symbol.

    -n,-v,--numeric-sort:将符号以其地址的数值进行排序,而非字母表排序。

    -p,--no-sort:不要顺序排符号,以它们相遇的顺序排序。

    -P,--portability:即-f posix

    -s,--print-armap:listing symbols from archive.

    --size-sort:size 由本符号地址和下一比较大的符号的地址之差。

    --special-syms:对与目标机来说有特殊意义的符号。

    -t radix,--radix=radix:指定显示数值的基(d,o,x)

    --target=bfdname:指定目标文件的格式。

    --undefined-only,-u:显示未定义的符号。

    -defined-only:只显示每个目标文件中定义的符号。

  • 相关阅读:
    从官网下载mod_jk.so
    一台电脑上运行两个tomcat
    官网下载apache服务器并运行
    给tomcat7w.exe改名字
    运行tomcat7w.exe,提示:指定的服务未安装unable to open the service tomcat7
    一台电脑启动多个tomcat
    Spring和Hibernate结合的一个小例子
    spring和jdbc结合的一个小例子
    svn 文件后面显示时间和提交人
    svn 未提交的显示黑色的星*
  • 原文地址:https://www.cnblogs.com/openix/p/2431781.html
Copyright © 2011-2022 走看看