我的编程空间,编程开发者的网络收藏夹
学习永远不晚

objdump 和解析本地函数调用的链接?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

objdump 和解析本地函数调用的链接?

php小编柚子给大家介绍一种强大的工具 - objdump,它可以帮助我们解析本地函数调用的链接。objdump是一个用于分析和反汇编二进制文件的命令行工具。通过使用objdump,我们可以查看二进制文件中的函数调用和链接信息,了解函数之间的关系和调用顺序。这对于理解代码的执行流程和调试问题非常有帮助。objdump提供了丰富的选项和功能,可以满足不同场景下的需求。让我们一起来探索objdump的奥秘吧!

问题内容

如果我在 (linux amd64) .o 文件上运行 objdump -d,则会显示函数调用,但未完成链接时间解析。示例:

90:   66 89 44 24 1c          mov    %ax,0x1c(%rsp)
  95:   44 89 74 24 10          mov    %r14d,0x10(%rsp)
  9a:   e8 00 00 00 00          callq  9f 
  9f:   83 f8 ff                cmp    $0xffffffffffffffff,%eax
  a2:   74 5e                   je     102 

函数内的分支正确显示,但 callq 只是为链接器放入的存根(有四个字节的零可供链接器放入正确的地址)。

有没有一种方法,无需实际链接即可获取已解析函数名称的程序集列表?我不关心最终将使用的地址,只关心函数的名称。该信息必须位于 .o 文件中,因为链接器必须使用它来完成其工作。

我问这个问题是因为相关代码所在的共享库大约有 140Mb,并且需要很长时间来运行 objdump -d 来获取包含所有函数调用的 asm 转储解析为他们的真实姓名。

解决方法

是:使用 objdump -dr foo.o

以上就是objdump 和解析本地函数调用的链接?的详细内容,更多请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

objdump 和解析本地函数调用的链接?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

objdump 和解析本地函数调用的链接?

php小编柚子给大家介绍一种强大的工具 - objdump,它可以帮助我们解析本地函数调用的链接。objdump是一个用于分析和反汇编二进制文件的命令行工具。通过使用objdump,我们可以查看二进制文件中的函数调用和链接信息,了解函数之间
objdump 和解析本地函数调用的链接?
2024-02-10

PHP 函数的链式调用和闭包

是的,可以通过链式调用和闭包优化代码简洁性和可读性:链式调用可将函数调用链接为一个流畅接口。闭包可创建可重用代码块,并在函数外部访问变量。PHP 链式调用和闭包:提升代码简洁性和可读性简介PHP 中的链式调用和闭包是提升代码可读性和简洁
PHP 函数的链式调用和闭包
2024-04-13

python链式函数调用的示例分析

小编给大家分享一下python链式函数调用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!链式函数调用你可以在一行代码内调用多个函数。def add(a,
2023-06-27

java怎么解析url的链接和参数

在Java中,可以使用java.net.URL和java.net.URLConnection类来解析URL链接和参数。首先,使用URL类来创建一个URL对象,然后可以使用其方法来获取URL的各个部分,如:javaURL url = new
2023-10-20

dedecms调用栏目名称与栏目链接地址的方法分析

本文实例讲述了dedecms调用栏目名称与栏目链接地址的方法 今天在做一个seo优化时发现页面右边调用栏目时调用不出来,后来在百度找到了解决方案,这里整理一下与各位朋友分享一下吧. 开始我是这样处理,代码如下:复制代码代码如下:
&l
2022-06-12

java怎么解析url的链接和获取参数

在Java中,可以使用`java.net.URL`类来解析URL链接并获取参数。以下是一个示例代码:```javaimport java.net.URL;import java.util.HashMap;import java.util.M
2023-10-11

PHP 函数的调用方法详细解析

php 函数调用方法:遵循语法:function_name(argument1, argument2, ..., argumentn)参数传递:可通过值传递或引用传递引用传递方式:通过局部变量或全局变量引用返回类型:可声明和返回特定类型的值
PHP 函数的调用方法详细解析
2024-04-16

chatGPT本地部署、运行和接口调用的详细步骤

这篇文章主要介绍了chatGPT本地部署、运行和接口调用的详细步骤,文中给大家介绍了cookie信息写入config.json的三种方式,每种方式给大家介绍的非常详细,需要的朋友可以参考下
2023-02-15

C++ 函数调试详解:如何分析函数的输入和输出参数?

函数调试时,分析输入参数包括:类型匹配、范围、值和边值检查。输出参数分析包含:返回类型验证、指针有效性、引用有效性、值验证等。实战案例演示了如何测试输入和输出参数的有效性,帮助理解代码错误的定位和解决。C++ 函数调试详解:如何分析函数的输
C++ 函数调试详解:如何分析函数的输入和输出参数?
2024-05-03

Oracle中DECODE函数的基本用法解析

Oracle中DECODE函数的基本用法解析在Oracle数据库中,DECODE函数是一种非常常用的函数,用于实现类似于多层if-else语句的逻辑判断和数值替换。DECODE函数的基本语法如下:DECODE(expr, search1,
Oracle中DECODE函数的基本用法解析
2024-03-07

golang 函数调试和分析工具的适用范围

go 函数调试和分析工具的适用范围包括:调试工具(delve、gdb)、分析工具(pprof、pprof.io、gocover)。这些工具可用于解决死锁问题(使用 delve 逐步执行并检查变量)和分析内存使用情况(使用 go tool p
golang 函数调试和分析工具的适用范围
2024-05-07

linux中常用脚本和函数的示例分析

这篇文章将为大家详细讲解有关linux中常用脚本和函数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。#查找当前目录中是否存在指定目录,若不存在,则创建之代码如下:function mkdir_1
2023-06-09

PHP 函数在国际化和本地化方面的应用

php 提供丰富的函数支持国际化和本地化,包括:设置默认语言和区域:setlocale()文本翻译:gettext()/_()日期和时间格式化:strftime()数字格式化:number_format()货币格式化:money_forma
PHP 函数在国际化和本地化方面的应用
2024-04-15

解析Python中回调函数的原理及使用方式

Python回调函数的原理和用法解析回调函数是一种常见的编程技术,尤其在Python中被广泛使用。它可以使我们在异步编程中更加灵活地处理事件和执行任务。本文将对回调函数的原理和用法进行详细解析,并提供具体的代码示例。一、回调函数的原理回
解析Python中回调函数的原理及使用方式
2024-02-02

开发函数计算的正确姿势 —— 使用 Fun Local 本地运行与调试

前言首先介绍下在本文出现的几个比较重要的概念:函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码
2023-06-03

如何解析Python中的基本函数及其常用用法

今天就跟大家聊聊有关如何解析Python中的基本函数及其常用用法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。函数是为了达到某种目的而采取的行为,函数是可重复使用的,用来实现某个单一
2023-06-01

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录