14得票6回答
ATOS和DWARFDUMP无法为我的地址进行符号化

我通过AirBrake.io收到了一个未被符号化的崩溃报告。由于这个崩溃报告的格式与苹果的崩溃日志不完全相同,因此我不能像往常一样将它直接拖到XCode中进行符号化。所以我从我的XCode存档中获取了完全相同的构建,并尝试在命令行上进行符号化。结果如下:$ atos -o kidsapp.ap...

13得票1回答
如何处理"DWARF error: section .debug_info is larger than its filesize!"?

我正在寻找查看二进制文件中特定函数生成的汇编代码的方法(确切地说是.so),就像我可以在Compiler Explorer上看到类似的内容一样,我发现了如何使用objdump反汇编单个函数?,根据那里的答案(以及我的进一步搜索),我最终使用了以下命令: objdump --wide --no...

13得票3回答
Gcc 4.8 DWARF4与DWARF2的区别

GCC 4.8支持DWARF4。从用户角度看,DWARF4和DWARF2有什么区别呢? 让我们从GDB的角度来看看。当您切换到DWARF4时,对于用户是否有任何区别? 我找到了一个Dwarf主页,但据我所见,没有网站提供从用户角度的差异信息。 你能告诉我这些差异吗?

12得票6回答
分析MIPS二进制文件:是否有用于解析二进制数据的Python库?

我正在开发一个工具,需要将十六进制地址解析为二进制文件中的符号函数名称和源代码行号。该工具将在x86架构的Linux上运行,但要分析的二进制文件是基于MIPS的嵌入式系统。这些MIPS二进制文件采用ELF格式,并使用DWARF作为符号调试信息。 目前我计划派生objdump,传入十六进制地址...

11得票1回答
ld警告:在OS X上,stack subl指令与dwarf堆栈大小差异太大

最近我们在 OS X 编译时开始收到这个警告。ld: warning: could not create compact unwind for __Z10createMenuv: stack subl instruction is too different from dwarf stack ...

10得票1回答
从a.out文件中提取全局变量

编辑(更新问题) 我有一个简单的C语言程序: // it is not important to know what the code does you may skip the code main.c#include <bsp.h> unsigned int App...

10得票1回答
如何获取正在运行进程的Mach-O UUID?

在 Mac 上获取 UUID 可以使用: dwarfdump -u path/to/compile/executable 我可以通过在“二进制图像”部分进行简单的崩溃来获取UUID 是否有一种在iOS设备上无需崩溃即可获取UUID的方法?

9得票1回答
什么原因导致DWARF perf调用栈无法展开?

在通过perf record --call-graph dwarf生成并由perf script打印的回溯中,大约有5%的调用栈地址是错误的,即无法执行展开。一个例子如下: my_bin 770395 705462.825887: 3560360 cycles: 7f...

9得票1回答
GCC 4.8即使使用-gdwarf-2选项,在编译单元头中仍会插入版本4

我使用GCC 4.8编译了一个应用程序,现在想在没有GDB 7.5+的旧系统上进行调试(据说GDB 7.5+增加了对DWARF-4的支持)。但是升级该系统上的GDB并不可行。由于GDB输出以下消息,我无法进行调试: Dwarf Error: wrong version in compilat...

8得票1回答
从DWARF信息中获取调用约定

我正在尝试从DWARF信息中获取有关调用约定的信息。更具体地说,我想知道用于将参数传递给函数的寄存器/堆栈位置是哪些。我的问题是,在某些情况下,我从DWARF转储中获得了错误的信息。我使用的示例是以下"C代码": int __attribute__ ((fastcall)) __attrib...