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