objdump

    2热度

    1回答

    我正在调查与libgomp链接的OpenMP程序的执行流程。它使用#pragma omp parallel for。我已经知道该构建而成,除其他事项外,调用GOMP_parallel功能,这是实现如下: void GOMP_parallel (void (*fn) (void *), void *data, unsigned num_threads, unsigned int f

    0热度

    1回答

    当我使用-g选项运行gcc时,这使我能够在使用objdump运行可执行文件时看到一些c代码。 我有一个程序在#if块中有一段代码。当我使用-g运行gcc并运行objdump时,它会显示不应包含在#if中的c代码。 例如用下面的C语言代码: #define ENABLED 0 #if ENABLED startSomething(); #endif 当与gcc -g编译到star

    0热度

    1回答

    我实际上记录了nm和objdump程序。我已经完成objdump,它运作良好,所以我现在正在nm上工作。 我试图找到符号表,为了做到这一点我通过节头表像这样运行: while (i < elf->e_shnum) { if (shdr[i].sh_type == SHT_SYMTAB) printf("Symbol table found\n"); i++; }

    2热度

    1回答

    我的理解是,当您使用gcc -g编译C代码时,gcc将插入包含对原始源代码(例如行号)的引用的调试信息。然后其他程序如gdb和objdump可以稍后恢复这些引用。为了举例,我们将使用objdump -S,它打印与相应源代码交错的组件。 我的目标是将已编译的二进制文件复制到另一台计算机,并仍能够检索到该调试信息。但是,目前,当我这样做时,所有的调试信息都会丢失。我不介意复制源文件,但第二台计算机运行

    3热度

    1回答

    在以前的GCC版本中,objdump报告的符号偏移量与实际执行代码时使用的符号偏移量相匹配。例如: $ cat example.c #include <stdio.h> int g_someGlobal = 0; int main() { printf("%d\n", g_someGlobal); return 0; } $ gcc-6 -v ... gc

    1热度

    1回答

    对于上下文:在运行上的剥离二进制gdb时和当处于对应的二进制正在调试一个debuginfo软转的posession,所有的错位的函数名是由它们各自的非错位当量从debuginfo软转速替换。假设你有一些ELF文件已经被剥离了所有的调试信息,并且你有一个debuginfo rpm对应于其中包含所有调试符号的相同ELF文件。鉴于这些假设,是否有一种快速简便的方法可以使objdump知道这些调试符号,以

    1热度

    1回答

    有没有办法在objdump中获得完整的地址? 正在使用的命令是:objdump -d progname 的前导零不正确的。该地址应该如下: 最后三个在地址值是正确的;但是,我非常希望在objdump中显示完整的地址。

    0热度

    1回答

    我使用一个Arduino兆2560,其具有AVR Atmega2560芯片。我使用Windows上的库存Arduino IDE 1.8.4对其进行编程,该库随附avr-objdump 2.26和avr-g ++ 4.9.2。 我的程序或多或少有效,但是当试图检查生成的程序集时,看起来objdump没有生成正确的输出。 执行 avr-objdump -D -S -m avr:6 "arduino_b

    1热度

    1回答

    793 00010cfc <main>: 794 10cfc: e92d4800 push {fp, lr} 795 10d00: e28db004 add fp, sp, #4 796 10d04: e24dd008 sub sp, sp, #8 797 10d08: e3a03000 mov r3, #0 798 10d0

    -1热度

    1回答

    从linux中的可执行文件中删除信息时出现问题。该信息如下: 08048060 <__bss_start-0x100a>: 8048060: 31 db xor %ebx,%ebx 8048062: 53 push %ebx 8048063: bb 75 a2 45 7e mov $0x7e45a275,%ebx 8048068: ff d3 call *%e