linux下常用调试技巧

1 linux下如何查看静态库和动态库都链接了那些库

1.1 静态库.a是没有指令可以看到其在生成过程中链接了那些库的

1.2 动态库.so可以通过ldd指令查看其在生成过程中链接了那些库

在这里插入图片描述

还有一种简单直观的方法,我们可以在编译过程中看到所生成的二进制文件,链接了那些库:
平时编译我们基本都是cmake …,这样
cmake -D CMAKE_VERBOSE_MAKEFILE=1
这样可以看到链接库的信息,链接了什么库就可以一眼看到

2 通过egrep指令查看库中是否定义某个函数

别人给我们的三方库.so文件,如果在链接的时候报错,函数未定义的错误【这个函数本该是在这个库中实现的】
我们可以采用如下指令查看这个库中是否实现了这个函数
在这里插入图片描述
在这里插入图片描述
该方法对于静态库和动态库都是适用的

3 通过file和readelf指令查看二进制文件的架构类型(x86架构编译还是arm架构编译)

对于二进制文件或者动态库.so文件可以直接用file指令查看

猜你喜欢

转载自blog.csdn.net/weixin_42445727/article/details/128032996
今日推荐