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