strace

Software screenshot:
strace
Podrobnosti Software:
Verze: 4.19 Aktualizováno
Datum uploadu: 23 Nov 17
Licence: Volný
Popularita: 23

Rating: 5.0/5 (Total Votes: 1)

Strace je open source a volně distribuovaný software určený pro vývojáře a správce systému, který poskytuje systémový sledovač aplikací implementovaný v jazyce C a určený k provozování výhradně v operačních systémech GNU / Linux.

Program je velmi užitečný nástroj pro ladění, instrukci a diagnostiku, který dokáže shromáždit všechna systémová volání vygenerovaná programem nebo procesem a vytisknout stopu. Je to program příkazového řádku, který lze použít pouze z prostředí konzoly nebo pomocí emulátoru terminálu.

Nástroj může používat diagnostici, poradci, stejně jako správci systému, kteří chtějí neocenitelné řešení pro řešení problémů s uzavřenými programy. Je napsáno Dmitrijem V. Levinem, Rolandem McGrathem a Wichertem Akkermanem.


Možnosti příkazového řádku

Stejně jako každý jiný software příkazového řádku nabízí strace širokou škálu možností příkazového řádku, které uživateli umožňují snadné využívání všech jeho funkcí a funkcí pro dosažení svých úkolů. Všechna jeho volba příkazového řádku lze na první pohled zobrazit spuštěním příkazu --help & rsquo; příkaz.

Mezi nejzajímavější možnosti příkazového řádku můžeme zmínit podporu počtu četností, volání a chyb pro každou syscall, podporu shrnutí latence syscall, podporu trasování přístupů na určitou cestu, podpora umožňující ladění výstupu na stderr, stejně jako podporu pro běh procesu sledování jako oddělený vnuk, ne jako rodič.

Navíc budete moci odesílat informace o trasách do konkrétního souboru namísto stderr, nastavit režii sledovacích systémů na režijní usecs, nastavit soubor PID pro proces trasování, omezit délku tiskových řetězců načtení znaků, spouštění příkazů jako manipulace s uživatelskými jmény setgid a / nebo setuid a odpojení od specifického systému.


Začínáme se stracemi

Strace je distribuován pouze jako zdrojová databáze, ale může být snadno instalován z mnoha distribucí Linuxu z jejich hlavních repozitářů softwaru. Chcete-li jej nainstalovat ze zdrojů, jednoduše stáhněte nejnovější verzi softwaru Softwarová, uložte archiv na libovolné místo a rozbalte jej.

Otevřete aplikaci Terminál, přejděte na místo extrahovaných archivních souborů (např. cd /home/softoware/strace-4.9), spusťte ./configure && make & rsquo; příkaz pro konfiguraci a kompilaci strace a poté spusťte instalaci & rsquo; příkaz root jako root nebo sudo make install & rsquo; jako nadřízený uživatel, který má nainstalovat systém strace.

Co je nového v této verzi:

  • Vylepšení:
  • Přidána možnost -yy vytisknout protokol a informace o adrese přidružené k deskriptorům soketů.
  • rozšířené "-e read = set" a "-e write = set" možnosti pokrytí sendmsg, recvmsg, sendmmsg a recvmmsg syscalls.
  • Implementováno plné 32bitové dekódování příkazů ioctl (adresy Debianu bug # 692913 a chyby Fedory # 902788).
  • Implementace podpory API PTRACE_GETREGS na ia64.
  • Implementovala podporu rozhraní API PTRACE_GETREGS na mips.
  • Podpora rozhraní API PTRACE_GETREGSET byla implementována na s390 / s390x.
  • Implementováno dekódování systémů getrandom a seccomp.
  • Implementovalo úplné dekódování 64bitových sad funkcí.
  • Implementováno dekódování všech příkazů prctl.
  • Implementováno dekódování parametrizovaných příkazů ioctl.
  • Implementováno dekódování příkazů evdev ioctl.
  • Implementováno dekódování příkazů v4l ioctl.
  • Implementováno dekódování příkazů SG_IO v4 ioctl.
  • Implementováno dekódování příkazů FIFREEZE / FITHAW / FITRIM ioctl.
  • Implementováno dekódování FALLOC_FL_ * flagocate flags.
  • Implementované dekódování masky signálu rt_sigreturn na aarch64, x32 a x86_64.
  • Zdokonalený dekodér soketů pro podporu bluetooth zásuvek.
  • Rozšířené dekódování příkazů ioctl, které nejsou uvedeny.
  • Rozšířené dekódování systému getockopt a setockopt.
  • Rozšířené dekódování systému sysinfo.
  • Rozšířené dekódování struct cmsghdr.
  • Rozšířené dekódování stavu čekání.
  • Rozšířená podpora aio na architekturách jiných než x86 pomocí externího libaio.h
  • Přidáno O_TMPFILE do seznamu rozpoznaných příznaků otevřeného režimu.
  • Aktualizoval seznam konstant typu typu souborového systému, který se používá při dekódování systémových textů statfs.
  • Aktualizované seznamy konstant CAP_ *, PR_ *, PTRACE_ *, SCHED_ *, SO_ *, SOL_ *, SWAP_FLAG_ * a TFD_ *.
  • Aktualizované seznamy konstant signálů z Linuxu 3.19.
  • Aktualizované seznamy chybových konstant z Linuxu 3.19.
  • Aktualizované seznamy příkazů ioctl z platformy Linux 3.9.
  • Přidány nové položky syscall, které odpovídají Linuxu 3.19.
  • Opravy chyb:
  • Opraveny různé chyby při mapování mezi čísly syscall a přidruženými informacemi, jako je počet argumentů syscall, název syscall a dekódovač syscall.
  • Opraveny citace problémů v deskriptorech tisku, jménech souborů, názvech síťových rozhraní, jménech struct utsname, názvech zařízení / svazků příkazů BLK * ioctl.
  • Opraveno uid_t / git_t dekódování.
  • Problémy s četným fixním potenciálem mimo čtení v dekodérech getdents / getdents64.
  • Opravena pravděpodobná zkrácená otevřená příznaky u některých architektur.
  • Pevné dekódování struktury ifreq.ifr_name.
  • Pevné dekódování příkazu SIOCSIFNAME ioctl.
  • Pevné dekódování příznaků RENAME_ * renameat2.
  • Pevné dekódování časových struktur UTIME_NOW / UTIME_OMIT.
  • Pevné dekódování nepřímých ipc subcalls na některých architekturách.
  • Pevné dekódování fanotify_mark syscall na 32bitových architekturách.
  • Pevné dekódování 32bitových stavových struktur na 64bitových architekturách
  • Pevné dekódování 32-bitových struktur cmsghdr na 64bitových architekturách
  • Pevné dekódování 32bitového posunu preadv / pwritev na 64bitových architekturách.
  • Pevné dekódování sigreturn / rt_sigreturn masky signálu na ia64, ppc, ppc64, sparc, sparc64, mips a s390.
  • Výstup pevného instrukčního ukazatele (-i možnost) na architekturách, které podporují několik osobností.
  • Pevné chování "-e read = set" a "-e write = set" při čtení a zápisu souborů se protínají.
  • Opravena sestava na systémech, kde struktura sigaction nemá žádný člen sa_restorer.
  • Opravena sestava s nástroji uclibc a lib libc.
  • Přenositelnost:
  • Linuxové jádro> = 2.5.46. Starší verze bez slušné podpory PTRACE_SETOPTIONS nebudou fungovat.
  • Na mips je vyžadováno linuxové jádro & gt; = 2.6.15. Starší verze bez slušné podpory PTRACE_GETREGS nebudou fungovat.
  • Na serverech s390 a s390x je vyžadováno linuxové jádro> 2.6.27. Starší verze bez slušné podpory PTRACE_GETREGSET nebudou fungovat.

Co je nového ve verzi 4.9:

  • Změny chování:
  • Ve výchozím nastavení byla zakázána podpora OABI na systémech ARM EABI, což umožnilo povolit v konfigurovaném čase možnost -enable-arm-oabi.
  • Vylepšení:
  • Přidána experimentální volba -k pro vytisknutí stopy po každém sledovaném syscall.
  • Byla přidána volba -w pro vytvoření statistiky o latenci syscall. (adresy Debianu chyby # 457497).
  • Přidána podpora ARC architektury.
  • Přidána podpora PTRACE_GETREGS API v PowerPC.
  • Rozšířená podpora Bionic libc a musl libc.
  • Vylepšené sledování osobních procesů x86 na x86_64 a x32.
  • Vylepšené sledování osobních procesů ARM na AArch64.
  • Rozšířená detekce osobnosti 32 / 64bit na PowerPC.
  • Implementováno dekódování souborů add_key, ioprio_get, ioprio_set, kexec_load, keyctl, renameat2 a request_key.
  • Robustní dekódování vybraných, pselect a io_submit systémů.
  • Rozšířené dekódování souborů delete_module, fanotify_init, fanotify_mark, fcntl, setdomainname, sethostname, setns a sync_file_range.
  • Rozšířené dekódování signálových bitových masek
  • Rozšířené dekódování deskriptorů souborů.
  • Rozšířené dekódování siginfo_t.
  • Rozšířené dekódování PF_NETLINK.
  • Aktualizováno CLOCK_ * konstanty (adresy Fedora bug # 1088455).
  • Přidány nové položky syscall, které odpovídají Linuxu 3.16.
  • Opravy chyb:
  • Přidány shmat a shmdt do soustavy souvisejících syscalls mapování paměti.
  • Pevné oddělení od zastavených procesů.
  • Pevné dekódování fanotify_mark na 32bitové architektuře.
  • Pevná ofsetová dekódování v systémech preadv a pwritev.
  • Opraveno nastavení dekódování pro glibc v režimu _FORTIFY_SOURCE.
  • Pevné dekódování systému epoll_ctl syscall s argumentem EPOLL_CTL_DEL.
  • Opravena sestava a konflikt (adresy chyby Fedora # 993384).
  • Různé opravy v manuální stránce. (Adresy Debianu chyby # 725987).

Co je nového ve verzi 4.8:

  • Změny chování:
  • V případě normálního ukončení strace, když je trasový výstup přesměrován na trubku, strace ji nyní uzavře a čeká na ukončení procesu potrubí před odchodem.
  • Vylepšení:
  • Implementace trasování pomocí API PTRACE_SEIZE (je-li k dispozici)
  • Provedl spolehlivější detekci osobnosti procesů založenou na PTRACE_GETREGSET na x86-64 a x32 (pokud je k dispozici).
  • Přidána možnost -e trace = paměť pro sledování souvisejících syscalls mapování paměti.
  • Dokumentovaná možnost -b.
  • Povoleno ukončení stavových zpráv, které mají být potlačeny dvojitou volbou -q.
  • Přidána podpora architektury AArch64 (adresy Debianu bug # 693074 a chyby Fedory # 969858).
  • Přidána podpora pro architektury OpenRISC 1000, Meta a Xtensa.
  • Přidána podpora osobnosti tilegx pro dlaždice.
  • Rozšířená podpora architektur NOMMU.
  • Vylepšené dekódování getdents, mmap, perf_event_open, ptrace a kvacktové systémy.
  • Přidány nové položky syscall, které odpovídají verzi Linuxu 3.9.
  • Regeneroval seznam běžných názvů ioctl z platformy Linux 3.9.
  • Aktualizoval seznam chybových konstant.
  • Aktualizované seznamy konstant konc. AF_ *, MADV_ *, MAP_ *, MSG_ *, MS_ *, PF_ *, PR_ *, PTRACE_O_ * a TCP_ *.
  • Implementováno dekódování UOI.
  • Odstraněno redundantní "* 32" názvy ioctl.
  • Opravy chyb:
  • Pevná ERESTARTNOINTR uniká do uživatelského prostoru na starých jádrech (adresy Fedora bug # 659382).
  • Opraveno rozpoznávání řetězců pro uvolnění jádra (adresy Debianu chyby # 702309).
  • Pevné dekódování * xattr syscalls (adresy Fedora bug # 885233).
  • Pevná manipulace s soubory s 64bitovými inodními čísly 32bitovými stracemi (adresy Fedora bug # 912790).
  • Pevné vytyčovací vidle na SPARC.
  • Pevné dekódování souborů fadvise64, fallocate, ftruncate64, io_submit, preadv, pwrite, pwritev, readahead, sigaltstack, sync_file_range, sysctl a truncate64.
  • Opravené kategorie více systémových systémů na většině podporovaných architektur.
  • Pevné dekódování nepřiřazených 32bitových osobností recv [m] msg syscalls.
  • Pevné dekódování více 32bitových osobních systémů na x32.
  • Pevné dekódování dlouhých dlouhých argumentů syscall na architekturách ARM, MIPS / o32, PowerPC, S390x a Tile.
  • Pevné dekódování na S390x.
  • Opraveno dekódování sram_alloc na Blackfin.
  • Opravena sestava, když je process_vm_readv bodnutí.
  • Opravena sestava se staršími verzemi libaio.h

Co je nového ve verzi 4.7:

  • Toto je stabilní verze s obvyklými opravami, rozšířenou podporou pro nové jádra Linuxu a další vylepšení.

Co je nového ve verzi 4.6:

  • Toto je stabilní verze s běžnými opravami, pro nové jádra Linuxu a další vylepšení včetně nové metody sledování klonování, vidlice a příkazů vfork pomocí explicitního zařízení Linuxového jádra pro sledování vytváření podprocesů a podřízených procesů.

Co je nového ve verzi 4.5.20:

  • Vylepšení:
  • Implementováno dekódování nových linuxových systémů: inotify_init1, recvmmsg.
  • Implementováno základní dekódování nových linuxových systémů: preadv, pwritev, rt_tgsigqueueinfo, perf_event_open.
  • Rozšířené dekódování nedávno přidaných syscalls na architekturách jiných než x86 nahrazením holého dekodéru s propracovanými parsery povolenými dříve pro x86 / x86-64.
  • Realizováno -C možnost kombinovat regulární a -c výstup. (Adresy Debianu bug # 466196)
  • Rozšířené dekódování mbind a mremap syscalls.
  • Rozšířené možnosti dekódování soketů SOL_PACKET.
  • Regenerovaný seznam názvů ioctl z linuxu 2.6.33.
  • Přidána podpora architektury TILE.
  • Opravy chyb:
  • Opravena sestava s hlavičkami jádra Linuxu 2.6.32-rc5 +. (Adresy chyby Debianu # 560516 a chyby Fedory # 539044)
  • Opraveno stavění na mipsy.
  • Pevná manipulace s systémy Linux bez struftu statfs64.
  • Pevná maska ​​hlášení signálem podle sigreturn na powerpc.
  • Přetečení vyrovnávací paměti s pevným potenciálním zásobníkem ve vybraném dekodéru. (Adresy chyby Fedory # 556678)
  • Opraveno implicitní dekódování ipccall
  • Opravené dekódování 64bitových systémů. (Adresy Debianu chyba # 570603)
  • Opravené dekódování getockoptu na architekturách, kde sizeof (long) & gt; sizeof (int). (Adresy Debianu chyba # 494844)
  • Opravené dekódování epoll_pwait. (Adresy Debianu chyby # 513014)
  • Opravena manipulace s usmrcenými vlákny

Podobný software

Valgrind
Valgrind

17 Feb 15

LMDBG
LMDBG

20 Feb 15

xtrace
xtrace

11 May 15

D-Feet
D-Feet

29 Nov 17

Komentáře k strace

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!