nm相关内容

如何打印像nm这样的ELF文件的符号名称?

我知道符号的名称在 shstrtab 中.但我不知道如何抓住它们.我应该将我的 shstrab 转换成 Elf64_Sym 以便我可以使用 st_name 吗? Elf64_Shdr *shdr = (Elf64_Shdr *) (data + elf->e_shoff);Elf64_Shdr *symtab;Elf64_Shdr *shstrtab;Elf64_Shdr *strtab;cha ..
发布时间:2021-12-31 21:43:44 其他开发

如何将llvm :: outs()重定向到文件?

我正在使用一些LLVM工具(例如 llvm-nm )作为静态库.IE.我复制了源llvm-nm.cpp,将 main(..)重命名为 llvm_nm(..),并将其编译为静态库.我想将标准输出转发到我的文件. 我尝试使用下一种方法: int out_fd,err_fd;fpos_t out_pos,err_pos;//重定向出fflush(stdout);fgetpos(stdout,& ..
发布时间:2021-05-30 19:38:23 C/C++开发

GDB CallStack地址是虚拟的还是物理的?

我的gdb bt调用堆栈给出了带有函数地址的函数名称.然后我做了nm binary 并生成函数名称和地址映射.当我尝试将gdb地址与nm输出匹配时,它不匹配. (gdb) bt中的函数地址太高(看起来像物理地址). gdb函数地址(例如0x00007fffe6fc150f): #9 0x00007fffe6fc150f in read_alias_file (fname= ..
发布时间:2020-07-01 19:18:58 其他开发

nm符号都为"U".和"T"是什么意思?

我在运行时遇到未定义的符号错误,当我在相关库中查找符号时,会得到结果: nm -C -D /home/farmer/anaconda3/envs/general/lib/python3.6/site-packages/pyscannerbit/libScannerBitCAPI.so | grep empty_ U YAML::detail::node_da ..
发布时间:2020-07-01 19:18:56 C/C++开发

确定剥离的Linux内核映像的加载地址和入口点

我在x86 Linux上有一个用于嵌入式系统(mipsel)的交叉编译工具链.我知道如何为其构建自定义内核(我们将其称为"vmlinux"映像)以及如何通过 剥离该映像. objcopy -S -O binary vmlinux vmlinux.bin 为了进一步处理,我还需要图像的加载地址和入口点. 在之前,通过scripts/mksysmap或更明确地通过 确定它们是没有问题的 n ..

nm和objdump之间的区别

从手册上看,objdump和nm具有重叠的功能. 您何时会使用每一个?每个命令的初衷是什么? 解决方案 它们没有相似的参数. nm列出文件符号,而objdump可以显示许多有关文件的信息. objdump也可以显示符号,并且在联机帮助页中明确指出:“尽管显示格式不同,但这类似于nm程序提供的信息." ..
发布时间:2020-07-01 19:18:47 其他开发

在库中强制为C ++模板实例定义符号

我想提供一个提供模板代码的库.但是,我也想尽可能地保留此代码(生成的代码)的所有权,因为我可以猜测模板通常使用的不同类型的用法.这是我要执行的操作的示例: lib1.h #include template void print_me() { std::cout ..
发布时间:2020-07-01 19:18:45 C/C++开发

如何打印类似nm的ELF文件的符号名称?

我知道符号的名称在shstrtab中. 但是我不知道如何抓住他们. 我应该将shstrab转换为Elf64_Sym以便使用st_name吗? Elf64_Shdr *shdr = (Elf64_Shdr *) (data + elf->e_shoff); Elf64_Shdr *symtab; Elf64_Shdr *shstrtab; Elf64_Shdr ..
发布时间:2020-07-01 19:18:40 其他开发

Microsoft等效于nm命令

我长期使用cygwin的nm命令来满足所有.lib符号调试需求,但是最近我考虑在SO答案中提及它,并意识到大多数Windows开发人员都未安装cygwin. Microsoft与nm等价的是什么,即什么命令将列出.lib文件导出的符号,.lib中的未定义符号,等等? 出于好奇,可以在此处进行示例nm手册页. 解决方案 尝试使用dumpbin.exe. MSDN dumpb ..
发布时间:2020-07-01 19:18:37 其他开发

库依赖工具

我正在寻找Unix平台上的tool/command,以检测.so和.o文件的library依赖项. 我已经使用过ldd/nm/truss,但是我不知道检测库依赖项的正确方法. 解决方案 这取决于“检测库依赖项"的确切含义. ldd 命令适用于共享库,而不仅适用于可执行文件.它将显示在构建库时声明的共享库的依赖项: $ ldd /usr/lib/libgtk-3.so ..
发布时间:2020-06-29 19:44:55 服务器开发

如何确定库间依赖关系?

我的项目由几个静态库组成,它们在最后一步链接在一起。现在我遇到了问题,图书馆的链接顺序很重要。(否则我得到一个未定义的符号链接器错误)。有时我碰到问题,我不得不重新排序链接库(-lcommon -lsetup -lcontrol等)。目前这是一个愚蠢的尝试和错误:重新排序,编译,检查错误,重新排序,编译等。 因此,我编写了一个小程序来向我展示库间依赖关系,并为我生成链接库的顺序。它从 nm ..
发布时间:2018-04-20 16:51:17 C/C++开发

引用了一堆尚未解决的OpenSSL符号的错误显然存在?

我正在构建一个共享库(我们称之为“foo”),它使用了另一个库(我们称之为“bar”)。 “bar”利用了OpenSSL的一些功能。 这里是问题出现的地方。 “bar”被编译为一个静态库,看起来OpenSSL也是。因此,当我链接库(“foo”)时,我包括: $ b 用于“foo”的对象文件 静态库 libbar.a OpenSSL静态库 libcrypto.a 和 libs ..
发布时间:2018-04-20 15:54:59 其他开发

nm的偏移量符号值?

只是给你一些上下文,这里是我想实现: 我在一个共享对象文件中嵌入一个const char *为了在.so文件本身有一个版本字符串。我正在做数据分析,这个字符串使我能够让数据知道哪个版本的软件生产它。这一切都很好。 我遇到的问题是,当我尝试从.so库直接读取字符串。我试图使用 nm libSMPselection.so | grep _version_info 并取 ..
发布时间:2016-10-24 12:48:43 服务器开发

nm的偏移量符号值?

只是给你一些上下文,这里是我想实现: 我在一个共享对象文件中嵌入一个const char *为了在.so文件本身有一个版本字符串。我正在做数据分析,这个字符串使我能够让数据知道哪个版本的软件生产它。这一切都很好。 我遇到的问题是,当我尝试从.so库直接读取字符串。我试图使用 nm libSMPselection.so | grep _version_info 并取 ..
发布时间:2016-10-24 12:43:29 服务器开发