文件管理 · 2022年02月20日 0

ltrace命令 – 跟踪进程调用库函数的情况

ltrace命令是用来跟踪进程调用库函数的情况,ltrace其实也是基于ptrace。我们知道,ptrace能够主要是用来跟踪系统调用,那么它是如何跟踪库函数呢? 首先ltrace打开elf文件,对其进行分析。在elf文件中,出于动态连接的需要,需要在elf文件中保存函数的符号,供连接器使用。 **语法格式:** ltrace [参数] **常用参数:** | -a | 对齐具体某个列的返回值 | | ---- | ---------------------------------------- | | -c | 计算时间和调用,并在程序退出时打印摘要 | | -d | 打印调试信息 | | -f | 跟踪子进程 | | -l | 只打印某个库中的调用 | **参考实例** 最基本应用,不带任何参数: ``` [root@anycode ~]# ltrace ./a.out ``` 输出调用时间开销: ``` [root@anycode ~]# ltrace -T ./a.out ``` 显示系统调用: ``` [root@anycode ~]# ltrace -S ./a.out ``` 计算时间和调用,并在程序退出时打印摘要: ``` [root@anycode ~]# ltrace -c ./a.out ``` 打印调试信息: ``` [root@anycode ~]# ltrace -d ./a.out ```