Linux
ltrace 有什麼替代品可以做同樣的工作嗎?
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
。