symbol-tables

    6热度

    5回答

    我正在为在Linux机器上运行的C语言编写的应用程序实现一些有限的远程调试功能。目标是与应用程序进行通信并查找任意变量的值或运行任意函数。 我能够通过dlsym()调用查找符号,但我无法确定返回的地址是指的是函数还是变量。有没有办法通过这个符号表来确定输入信息?

    -2热度

    1回答

    我们都知道从符号表到类型表总是有引用,但是也可能会发生recrse情况。手段可以键入表引用回符号表?如果是,请举例说明。

    7热度

    2回答

    我正在写一个程序来模拟elfdump -ecps 目前,它打印出ELF头,程序头和节头正确,但我卡上的最后几件符号表。 所需的输出格式为: Symbol Table Section: .dynsym index value size type bind oth ver shndx name [0] 0x00000000 0x00000000 NOTY LOCL D 0 UNDE

    5热度

    1回答

    我在我的x86 Linux上为嵌入式系统(mipsel)提供了一个交叉编译工具链。我知道如何建立一个定制的内核(我们称之为形象“的vmlinux”),它和如何通过 objcopy -S -O binary vmlinux vmlinux.bin 作进一步处理我还需要图像的加载地址和切入点剥离的形象。 之前剥离就没有问题通过scripts/mksysmap,或者更明确地确定它们,通过 nm -n

    9热度

    2回答

    我在看解释ELF可执行文件的动态符号表(.dynsym)。我可以成功地解释使用“值”属性来表示符号的地址和“名称”的符号表的.symtab(针对每个符号16个字节)的属性来表示字符串的开头的在.strtab偏移部分。但我无法使用相同的方法来解释动态符号表(.dynsym)。我用阿里的博客[1]作为参考。 我看着阿里的[2]的另一个博客,但我不明白是如何使用哈希表来解释动态符号表。很明显,这与符号表

    5热度

    4回答

    正如我们所知,在Java中,方法名称不足以区分不同的方法。 我认为(可能是错误的),区分的方法,它需要以下信息: (className, methodName, methodParameters) 此外, 如何识别更有效地在内部的方法? 我听说过“方法ID”。这是否意味着上述三元组和整数之间存在映射关系,因此JVM在解析后仅使用方法ID? 如果是这样,它是否在符号表中? 谢谢!

    1热度

    1回答

    我正在使用DyninstAPI(即SymtabAPI组件)来重写二进制文件中的符号表。我用下面的方法来做到这一点: data_region->setPtrToRawData((void*) new_raw, data_region->getRegionSize()) 的方法成功返回,我检查我的错误代码,我甚至重新读出已经成功地被替换的数据段。问题是原始二进制不会被新的原始.data部分重写,原

    4热度

    1回答

    我正在研究一个用Perl编写的相当复杂的应用程序。我对这门语言有相当的经验,但是我很困难。 我正在使用一个模块Foo,它将sysread和syswrite用于文件句柄(本例中为双向套接字)上的各种操作,并传递给它的构造函数。 我要做到以下几点:从另一个模块,我写,(让我们称之为吧),我想改变这种状况sysread执行/的方式写行为从属于方法中调用的Foo只有当 Sysread等人需要像其他地方一样

    2热度

    3回答

    我正在Ruby中构建一个词法分析器,并且即将开始在符号表中收集和存储符号。我关于符号设计的主要问题以及它是否应该是静态表(意味着所有数据将保持在课程级别),还是应该以实例为基础。 选项1:类级别的数据结构 require 'SymbolTableEntry.rb' class SymbolTable @sym_table = Array.new(500) def initi

    0热度

    1回答

    当然,C/C++程序中定义的每个变量的符号和类型信息都是可用的,否则调试器将无法显示它们。但是如何获取这些信息? 关于精灵很多信息是可用的,但毕竟是如何关联的,似乎堆栈即 在远程实时系统(未UNIX下)上举行全球唯一变量,而不是本地的,我我希望能够通过复制列表中的一些内存以及相关的变量名称,然后在RT系统继续时查看它们。 最好的方式是可以随时为任何变量引入转储,而不需要在代码中预先添加一些语句。