当前位置: 首页 > news >正文

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

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

文章目录

  • 【Linux】使用nm命令查看动态库包含的符号表
    • 1. `nm`的简介
    • 2. `nm`的使用
    • 3. `nm`查找具体的函数名或变量名
    • Reference

1. nm的简介

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

2. nm的使用

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

nm -D libexample.so

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

0000000000001120 T my_functionU 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命令|查看动态库包含的函数符号

http://www.lryc.cn/news/423531.html

相关文章:

  • 你还不知道苹果手机截长图的方法?4 种方法都可以
  • C++选择题带答案
  • Unity动画模块 之 简单创建一个序列帧动画
  • 学会高效记录并整理编程学习笔记
  • Llama 3.1中文微调数据集已上线,超大模型一键部署
  • css实现太极图
  • Android 13 移植EthernetSettings/Ethernet更新
  • 极狐GitLab 如何设置访问令牌前缀?
  • leetcode日记(72)最大矩形
  • 自驾畅游保定:参观总督署,品美食文化
  • 我常用的几个傻瓜式爬虫工具,收藏!
  • 数据分析2 Numpy+Scipy+Matplotlib+Pandas
  • 手机IP地址:是根据网络还是设备决定的?
  • 数据结构-常见的七大排序
  • 离线安装部署springboot+vue系统到服务器
  • 【STM32】ADC模拟数字转换(规则组单通道)
  • WPF 数据模板DataTemplate、控件模板ControlTemplate、Style、ItemsPreseter
  • Windows下搭建Telegraf+Influxdb+Grafana(详解一)
  • 同城搭子社交系统开发同城搭子群活动APP圈子动态小程序
  • 大厂最佳实践 | Stripe 如何防止重复付款
  • Raspberry Pi Pico 2 上实现:实时机器学习(ML)音频噪音抑制功能
  • 安全自动化和编排:如何使用自动化工具和编排技术来提高安全操作效率。(第二篇)
  • HarmonyOS WebView
  • 解决elementUI表格里嵌套输入框,检验时错误信息被遮挡
  • Unity读取Android外部文件
  • 【5.3 python中的元组】
  • Debezium报错处理系列之第116篇:Caused by: java.lang.NumberFormatException: null
  • 【启明智显技术分享】工业级HMI芯片Model3C/Model3A开发过程中问题记录笔记二
  • Python 函数返回yield还是return?这是个问题
  • Linux系统性能调优