117得票11回答
如何使用objdump分解单个函数?

我在我的系统上安装了一个二进制文件,并想查看给定函数的反汇编代码。最好使用objdump,但其他解决方案也可以接受。 从这个问题中,我了解到如果我只知道边界地址,就可以对代码的一部分进行反汇编。从这个答案中,我了解到如何将我的拆分调试符号转换回单个文件。 但是,即使在单个文件上操作,即使反...

73得票2回答
GAS: Explanation of .cfi_def_cfa_offset

我希望能够解释GCC生成的汇编代码中使用.cfi_def_cfa_offset指令中的值。我大致知道.cfi指令与调用帧和堆栈展开有关,但我想更详细地了解为什么在我的64位Ubuntu机器上编译以下C程序时,GCC输出的汇编代码中会使用值16和8。#include <stdio.h&gt...

57得票5回答
DWARF和带有dSYM文件的DWARF之间有什么区别?

XCode 支持此 Build Setting 的 2 个值: Build Settings > Build Options > Debug Information Format。 有人可以解释一下它们之间的区别吗?

32得票1回答
readelf -s不输出完整的变量名称

我需要从一个已编译的C程序文件中获取全局符号。我使用的是Linux命令readelf -s filePath,当我使用该命令时,我得到以下结果: 我用蓝色矩形框出来,展示变量名没有正确显示。它们只能显示25个字符,如何才能显示完整名称?

28得票3回答
小人错误:编译单元头中的版本错误(应为2,实际为4)

在RedHat Linux上构建了一个共享对象,虽然所有的代码都是使用调试选项编译的,但是调试器(gdb)拒绝加载符号,并发出以下错误:... GNU gdb Fedora (6.8-37.el5) ... This GDB was configured as "x86_64-redha...

26得票4回答
读取ELF文件中DWARF调试信息的库

有没有推荐一个跨平台的库,可以读取DWAF格式的ELF文件调试信息?我想在Python程序中读取DWARF调试信息。

18得票2回答
检查编译单元的DWARF版本

大家好,是否有一种工具可以检查文件的DWARF版本?类似于这样:$ dwarf_tool binary_name 4

17得票4回答
苹果的GCC是如何在可执行文件中存储DWARF信息的?

苹果的GCC是如何在可执行文件中存储DWARF信息的? 我使用gcc -gdwarf-2 (苹果的GCC)编译了一个二进制文件。然而,objdump -g和objdump -h都没有显示任何调试信息。 libbfd也没有找到任何调试信息。(我在binutils邮件列表上询问过这个问题 he...

15得票3回答
如何在xcode 9.3中找到DWARF_DSYM_FOLDER_PATH和DWARF_DSYM_FILE_NAME?

我正在使用Crashlytics来报告iOS应用程序中发生的崩溃情况。在这里,我想知道如何在Xcode中找到以下矮人文件夹和文件的路径: DWARF_DSYM_FOLDER_PATH DWARF_DSYM_FILE_NAME

14得票2回答
ARM中DWARF信息中的本地变量位置

我有一个C程序,保存在delay.c文件中: void delay(int num) { volatile int i; for(i=0; i<num; i++); } 然后我在 ARM 模拟器(更具体地说是 armel)上使用 gcc 4.6.3 编译该程序,并使用以...