nm -a输出的不包含函数地址
时间: 2023-12-20 21:03:16 浏览: 31
`nm -a` 命令用于显示二进制文件中的符号表,包括全局变量、静态变量、函数等。默认情况下,它不会显示函数的地址,只会显示函数的名称和类型。如果您想显示函数的地址,可以使用 `-A` 选项,例如:
```
nm -a -A binary_file
```
这将显示符号表中所有符号的完整信息,包括函数地址。请注意,在某些情况下,函数地址可能被优化或重定位,因此可能不是实际的物理地址。
相关问题
查看动态库函数加载到进程中的绝对地址
要查看动态库函数的绝对地址,可以使用以下命令:
```
objdump -T <library-name> | grep <function-name>
```
其中,`<library-name>` 是动态库的名称,`<function-name>` 是要查找的函数名称。这条命令会列出动态库中所有符号的信息,并使用 `grep` 过滤出与指定函数名称匹配的符号。输出结果包括函数的地址、符号类型和符号名称等信息。
另外,也可以使用 `nm` 命令来查看动态库中的符号表信息,具体命令为:
```
nm -D <library-name> | grep <function-name>
```
其中,`-D` 选项表示只显示动态符号表信息,`<library-name>` 和 `<function-name>` 的含义与上面相同。输出结果包括函数的地址、符号类型和符号名称等信息。
怎么使用nm命令查看 libmp4v2.so 中是否包含 GLIBCXX_3.4.26 版本的 basic_ostringstream 函数
你可以使用以下命令来查看 libmp4v2.so 中是否包含 GLIBCXX_3.4.26 版本的 basic_ostringstream 函数:
```
nm -D libmp4v2.so | grep GLIBCXX_3.4.26 | grep basic_ostringstream
```
这个命令会列出 libmp4v2.so 中所有的符号,并筛选出包含 GLIBCXX_3.4.26 字符串和 basic_ostringstream 字符串的行。如果输出结果中包含了 basic_ostringstream 函数,说明这个库文件中包含 GLIBCXX_3.4.26 版本的 basic_ostringstream 函数。如果没有包含,说明这个库文件版本太老了,需要更新。