Linux

ltrace 有什麼替代品可以做同樣的工作嗎?

  • May 6, 2020

ltrace不適用於與-z now選項鍊接的二進製文件——檢查這個問題——這是我的 Ubuntu 19.10 系統上的預設設置。它僅適用於與-z lazy.

是否有任何替代方法可以ltrace完成相同的工作,但也適用於延遲連結的二進製文件?

這個問題在這裡得到了回答。我會發一個總結。

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

引用自:https://unix.stackexchange.com/questions/582074