如何比较nm输出
How to compare nm outputs
我有两个对象文件,它们应该是相似的,因为它们来自同一代码库的两个不同编译时间。我想比较一下他们的纳米输出。然而我不能,因为有很多名字被篡改。由于名称混乱,结果似乎有所不同,但实际上并非如此。我尝试了以下步骤来帮助我比较
1) took last word using command
sed '/ /s/.* //' nmfile1 >nmfile1_lastword
2) removed _Z.. starting word with nothing
sed 's/^_Z...//' nmfile1_lastword > nmfile1_lastword_removed_z
3) sorted the same
sort nmfile1_lastword_removed_z > nmfile1_lastword_removed_z_sorted
我也为第二个nmFile2做了上述操作。
然而,一开始仍然有很多名称混乱,我无法消除,这让我认为没有简单的方法来比较nm输出。请注意,我只关心起始名称的篡改,因为这样我就可以在gvim-d中看到结果,并且我可以手动识别差异。如果有一些直接的工具,那将是最好的。
请注意,我试着使用选项-C的nm来显示我没有名字的名字,但它仍然显示了很多名字的名字。
使用c++filt将符号分解为
nm xxx.so | c++filt > compare1.txt
nm xxx.so | c++filt > compare2.txt
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 请解释"函数1(p1,p2,p3);"的输出
- C++:将控制台输出存储在宏中更好吗
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 为什么我的代码在输出中增加了93天
- 如何从void函数输出字符串
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- AES加密到解密未正确输出
- 如何将c++程序的一些输出传递给shell,以便在shell中使用
- 使用C++程序合并排序没有得到正确的输出
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- C++格式化输出问题
- 将值从二维数组输出到文本文件
- 集合上的输出迭代器:assign和increment迭代器
- 如何比较nm输出
- (.eh)在nm输出中是什么意思
- 当 Boost.Exception 符号出现在'nm'输出中时,这意味着什么?它们会导致违反 ODR 吗?
- nm 命令输出中的"@@"符号是什么意思?