有没有 ltrace 的替代品可以完成相同的工作?

有没有 ltrace 的替代品可以完成相同的工作?

ltrace不适用于与链接的二进制文件-z now选项链接的二进制文件 - 检查问题——这是我的 Ubuntu 19.10 系统上的默认设置。它仅适用于与-z lazy.

有没有什么替代方案ltrace可以完成相同的工作,但可以工作惰性链接二进制也?

答案1

这个问题得到了解答这里。我会发布一个总结。

uftrace实用程序是 ltrace 的有效替代品,适用于与-z now.下面是一个演示。

#include <stdio.h>

int main(int argc, char const *argv[])
{
    printf("Hello world!\n");
    return 0;
}

我们将使用上面的 hello world 程序进行演示。

sumit@HAL9000:~$ gcc hello.c -o hello -Wl,-z,now
sumit@HAL9000:~$ ltrace ./hello 
Hello world!
+++ exited (status 0) +++
sumit@HAL9000:~$ uftrace --force -a ./hello
Hello world!
# DURATION     TID     FUNCTION
 187.291 us [ 40352] | puts("Hello world!") = 13;

正如我们在上面所看到的,ltrace当使用 编译该程序时,该程序没有运行-z now,但uftrace可以运行。

相关内容