ltrace 0.7.0 发布,跟踪进程的库函数调用
jopen 12年前
ltrace能够截取和记录动态库调用。它也可以拦截和打印由程序执行的系统调用。那么它是如何跟踪库函数呢?首先ltrace打开elf文件,对其进行分析。在elf文件中,出于动态连接的需要,需要在elf文件中保存函数的符号,供连接器使用。
这样ltrace就能够获得该文件中,所有系统调用的符号,以及对应的执行指令。然后,ltrace将该指令所对应的4个字节,替换成断点。
这样在进程执行到相应的库函数后,就可以通知到了ltrace,ltrace将对应的库函数打印出来之后,继续执行子进程。
这是主要功能版本有了很多的进步和变化。最显着的是,它带来的全面支持多线程进程,跨库调用,PIE二进制文件追踪,并提高参数传递约定。