同じことを行うことができる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 nowuftrace

関連情報