동일한 작업을 수행할 수 있는 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

관련 정보