0
点赞
收藏
分享

微信扫一扫

架构设计(3)Lambda 架构在生鲜网购平台中的应用

未定义变量 2024-08-15 阅读 23
linux

【Linux】使用nm命令查看动态库包含的符号表

文章目录

1. nm的简介

nm命令来自name的简写。nm命令常用于查看二进制文件中的符号表,通常用于静态库和可执行文件。对于动态库(如 .so 文件),你可以使用nm命令结合特定的选项来查看符号表。

2. nm的使用

假设你有一个动态库libexample.so,要查看它的符号表,可以运行以下命令:

nm -D libexample.so

输出的结果可能如下所示:

0000000000001120 T my_function
                 U printf
0000000000001190 T another_function

nm命令的输出通常包含三列信息:

  • 符号地址:该符号在内存中的地址(如果已加载)。
  • 符号类型:例如 T 表示代码段中的符号(函数),D表示数据段中的符号(全局变量),U表示未定义的符号(需要从其他库解析)。
  • 符号名称:具体的函数名称或变量名称。

3. nm查找具体的函数名或变量名

nm命令可以联合使用管道(pipe)|和筛选命令grep来查找具体的函数名,举个例子:

nm ./libexample.so | grep my_function

就可以从 nm所呈列的信息中寻找名为my_function的函数

Reference

[1]【Linux】nm命令|查看动态库包含的函数符号

举报

相关推荐

0 条评论