polecenie LTRACE Linux

polecenie LTRACE Linux
Narzędzie LTRACE Linux jest używane do przechwytywania i rejestrowania dynamicznych połączeń do wspólnych bibliotek w systemie. Narzędzie przydaje się do diagnozy i debugowania. Używa dynamicznego mechanizmu zaczepienia biblioteki, który ogranicza go do wyświetlania tylko udostępnianych wywołań biblioteki w pliku lub standardowym wyjściu błędu.

Ten przewodnik obejmuje sposób korzystania z LTRACE oraz przykłady instalacji i użytkowania, aby zacząć.

Instalowanie LTRACE w Linux

W przypadku systemów Debian LTRACE zostaje zainstalowany za pomocą APT za pośrednictwem poniższego polecenia.

$ sudo apt instint LTRACE

W przypadku Rhel lub Centos polecenie to:

$ sudo yum instaluj LTRACE

Jak korzystać z LTRACE

Możesz łatwo użyć LTRACE z programem za pomocą poniższej składni.

$ LTRACE [Program] [Opcje]

Na przykład utwórzmy losowe pliki za pomocą dotykać dowodzić i użyj LTRACE, aby zobaczyć, jak się zachowują.

$ LTRACE Touch File1.TXT 2.TXT 3 4

Zwraca tylko status wyjścia 0 Aby pokazać, że pliki zostały utworzone. Tutaj nie ma wiele aktywności, ale jeśli spróbujemy utworzyć plik archiwalny, w którym zaangażowane są różne dynamiczne połączenia, otrzymamy więcej szczegółów.

Użyjemy -F flaga, która śledzi dziecko, gdy są one tworzone przez proces. Zaczynamy od utworzenia pliku archiwum, a następnie kompresowania go podczas śledzenia procesów dziecka, jak na poniższym obrazku.

Z LTRACE, -P Opcja umożliwia śledzenie połączeń dynamicznych procesu uruchomionego za pomocą jego identyfikatora procesu.

$ ltrace -p [proces -id]

W poniższym przykładzie używamy LTRACE w procesie uruchamiania z identyfikatorem 47168.

-R Opcja LTRACE wyświetla względny znacznik czasu powiązany z każdą linią śledzenia. Na przykład podczas korzystania z kot polecenie do utworzenia pliku, możemy użyć -R opcja jak w powyższym wyjściu.

Znacznik czasu wyświetla się poniżej po przerwie. Podobnie jak względny znacznik czasu jest -T, co dodaje porę dnia związaną z każdą linią śledzenia. Możesz użyć -tt włączyć mikrosekund.

W naszym przypadku prowadzimy prosty proces LTRACE, ale widać, że pora dnia wyświetla się po lewej stronie.

Użyj -S flaga do wyświetlenia połączeń bibliotecznych i systemowych powiązanych z procesem.

Do tej pory widzieliśmy, jak korzystać z LTRACE i wyświetlić wyniki na standardowym wyjściu błędu. Jeśli chcesz przekierować wyjście do pliku, -o Flaga ma twoje plecy. Na przykład przechowywanie połączeń bibliotecznych i systemowych pobranych w powyższym przykładzie w pliku o nazwie Demo1.tekst, Poleceniem będzie:

$ ltrace -o Demo1.txt -s ls

Plik jest tworzony po uruchomieniu LTRACE, a jeśli go otworzymy, widzimy, że zawartość jest podobna do uruchamiania tego samego polecenia w wyjściu standardowego błędu. Przekierowanie wyjściowymi do plików jest dobrym sposobem przechowywania wyników w celu uzyskania odniesienia i utrzymywania czystości terminalu.

Czasami musisz określić, które wywoływanie biblioteki użyć z LTRACE. Można to zrobić za pomocą -mi opcja. Musisz tylko użyć łańcucha reguł i określić reguły za pomocą wzorców, które identyfikują bibliotekę Sonames albo Nazwy symboli. Możesz zobaczyć stronę ręczną, aby zrozumieć więcej na temat pracy z łańcuchem reguł i wzorców, ale ogólna składnia jest następująca.

$ LTRACE -E [RULLES CHAINLULES] [Program]

Zastąp Rule łańcuchowe z wzorem i dodaj program do przechwytywania dynamicznych połączeń bibliotecznych; Powinieneś być gotowy do drogi.

Zakończyć

Komenda LTRACE Linux doskonale nadaje się do przechwytywania i rejestrowania wszystkich wywołań dynamicznych biblioteki w systemie. Ten przewodnik obejmował różne sposoby korzystania z LTRACE przy użyciu różnych przykładów. Korzystając z tego przewodnika, możesz teraz łatwo pracować wokół LTRACE.