我需要找出一个二进制文件是否在Linux上使用epoll或select for socket处理.二进制文件没有被剥离,但我不能在我的linux框中运行它所以没有strace.

解决方法:

nm< binary>将告诉您哪些符号已定义,更重要的是,这些符号由给定的二进制文件使用.您可以通过检查输出中列出的poll或select中的哪一个来获得保守的猜测.

您可能会发现您的应用程序与两者相关联.在这种情况下,它可能正在做出运行时决定调用哪一个,如果你运行它,你将无法轻易告诉它实际使用哪一个.

根据二进制文件的构建方式,您可能必须使用-D标志运行nm;或者您可能需要确保不指定-D.尝试两种方式.

如果程序使用共享库,则对poll或select的实际调用可能在它正在使用的库中.在这种情况下,您可能需要深入研究每个库上运行nm的库.通过在readelf –dynamic的输出中查找NEEDED条目,您可以找到程序与ldd一起使用的库,或者如果它不起作用.

如果二进制文件是为不同于当前运行的平台构建的,那么ldd将无法工作,而且您可能必须使用binutils的交叉编译器构建来获得适合您的nm版本.

标签:linux,system-calls

来源: https://codeday.me/bug/20190718/1494408.html

二进制文件在linux如何表示,如何通过静态分析找出二进制文件是否在Linux上使用某些系统调用?...相关推荐

  1. linux下比较文件并输出,Linux使用diff命令比较文件找出文件之间相同的部分

    如果你需要比较系统文件的内容,那么你就会是使用到diff命令,可找出文件之间相同的部分,下面小编就给大家详细介绍下Linux diff命令的用法. diff 命令是 linux上非常重要的工具,用于比 ...

  2. linux 找出耗io的,linux根据io消耗找进程

    本方法通过perl脚本对io情况进行实时抓取,非常方便. perl脚本下载: wget http://aspersa.googlecode.com/svn/trunk/iodump 可将该脚本命名为i ...

  3. linux sleeping进程多_Linux下找出吃内存的方法总结

    linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方 ...

  4. Linux内核源代码分析——可执行文件header处理(二进制文件读写范例,写DUL工具入门指引)...

    在把Linux内核源代码生成Image之前,需要把执行文件头结构信息剔除出来.这个过程对理解Linux内核具有很大的帮助.同时,由于是对可执行文件进行直接读写操作,想写DUL工具的童鞋可以在这里学习到 ...

  5. 5个找出Linux中“二进制命令”描述和系统中位置的方法

    在数千个 Linux 系统上的命令/程序中,知道给定命令的类型和目的以及其在系统上的位置(绝对路径)对于新手来说可能是一个挑战. 知道命令/程序的一些细节不仅有助于 Linux 用户掌握大量命令,还能 ...

  6. linux中的vsprintf_Git29 年超 100 万次 commit,Linux 内核何以发展至今?

    1991 年,21 岁的芬兰大学生 Linus Torvalds 写下第一行 Linux 内核代码时,多半没有想到它会成长为今天这样的庞然大物. 当年 8 月 25 日,Torvalds 在 Mini ...

  7. Linux使用cmake编译项目,如何使用cmake在linux中构建Qt项目(How to build Qt project in linux with cmake)...

    如何使用cmake在linux中构建Qt项目(How to build Qt project in linux with cmake) 我使用的是ubuntu 14.04,cmake 2.8.12.2 ...

  8. 4. linux调用文件计算阶乘前5项和_嵌入式Linux系统编程——文件读写访问、属性、描述符、API

    Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...

  9. 每天一个linux命令(目录文件操作):【转载】Linux文件类型与扩展名

    Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文 ...

最新文章

  1. 机器学习算法优缺点对比及选择(汇总篇)
  2. c#中调用Excel
  3. 能源利用率逼近理论极限 阿里巴巴展示液冷黑科技
  4. 5分钟了解CDN 加速原理 | +新书推荐
  5. python中函数和类的区别_Python中函数和方法的区别
  6. [03] 为什么要使用异常机制
  7. 字符串、指针、引用、数组基础
  8. web.xml配置解释
  9. WPF: 使用CommandManager.InvalidateRequerySuggested手动更新Command状态
  10. 在VC中动态加载ODBC的方法
  11. caffe里的blocking_queue.hpp与.cpp干了点什么呢???
  12. 文本不换行省略—input属性
  13. securiteCRT中退出全屏
  14. MSM8960 // F200 引导装载程序 (Bootloader) 之研读
  15. lisp 车位块自动编号_CAD如何生成自动编号
  16. 从“半部电台”到“云监工” 天翼云助力红色电信启航新征程
  17. 基于SSM框架实现的日记管理系统
  18. JavaIO流,万物皆文件
  19. storyboard搭建项目_用Storyboard实例化控制器:
  20. 回声消除中的LMS和NLMS算法与MATLAB实现

热门文章

  1. JAVA实现无损word转pdf文件完整代码教程
  2. 设置字段默认值Java_小书MybatisPlus第9篇-常用字段默认值自动填充
  3. C++11中的时间库std::chrono(引发关于时间的思考)
  4. 十问旷视印奇、唐文斌:AI企业都在经历「死亡之谷」
  5. Python优化算法02——遗传算法
  6. Head First java 上的报错!
  7. 指向 类成员函数 的 函数指针
  8. pulp platform 的搭建
  9. 苹果手机sim卡无效怎么办_苹果手机解锁密码忘了怎么办
  10. xbox360游戏下载_如何在Xbox One上玩Xbox 360游戏