strace

Software skärmdump:
strace
Mjukvaruinformation:
Version: 4.19 Uppdaterad
Ladda upp dagen: 23 Nov 17
Licens: Gratis
Popularitet: 23

Rating: 5.0/5 (Total Votes: 1)

strace är en öppen källkod och fritt distribuerad programvara avsedd för utvecklare och systemadministratörer, som tillhandahåller en systemsamtalspårare som är implementerad i C och utformad för att driva uteslutande under GNU / Linux-operativsystem.

Programmet är ett mycket användbart felsöknings-, instruktions- och diagnostikverktyg som kan samla alla systemsamtal som genereras av ett program eller en process och skriva ut ett spår. Det är ett kommandoradsprogram som bara kan användas från en konsolmiljö eller via en terminalemulatorapp.

Verktyget kan användas av diagnostiker, felsökare, samt systemadministratörer som vill ha en ovärderlig lösning för att lösa problem med slutna program. Det är skrivet av Dmitry V. Levin, Roland McGrath och Wichert Akkerman.


Kommandoradsalternativ

Precis som alla andra kommandoradsprogram erbjuder Strace ett brett utbud av kommandoradsalternativ som gör att användaren enkelt kan använda all sin funktionalitet och funktioner för att uppnå sina uppgifter. Alla dess kommandoradsalternativ kan ses på ett ögonblick genom att köra & lsquo; strace --help & rsquo; kommando.

Bland de mest intressanta kommandoradsalternativen kan vi nämna stöd för räkningstider, samtal och fel för varje syscall, stöd för att sammanfatta sycall latency, stöd för att spåra åtkomst till en viss sökväg, stöd för att möjliggöra debug-utdata till stderr, samt stöd för att driva en spårprocess som fristående barnbarn, inte som förälder.

Dessutom kommer du att kunna skicka spårinformation till en specifik fil istället för stderr, för att ställa omkostnaden för spårning av syscalls till en overhead-usec, för att ställa in en PID-fil för spårprocessen, för att begränsa längden på utskriftssträngarna att stryka tecken, att köra kommandon som användarnamnshantering setgid och / eller setuid, och att ta bort en specifik syscall.


Komma igång med strace

Strace distribueras bara som en källare, men det kan enkelt installeras på många distributioner av Linux från sina huvudprogramvaror. För att installera det från källor, ladda bara ned den senaste versionen från Softoware, spara arkivet på en plats och välj det.

Öppna en terminalapp, gå till platsen för de extraherade arkivfilerna (t.ex. cd /home/softoware/strace-4.9), kör ./configure && make & rsquo; kommandot att konfigurera och kompilera strace, och kör sedan & lsquo; gör installera & rsquo; kommandot som root eller "sudo make install & rsquo; kommandot som en privilegierad användare för att installera sträcksystemets hela.

Vad är nytt i den här utgåvan:

  • Förbättringar:
  • Tillagt - ett alternativ att skriva ut protokoll och adressinformation som är associerad med socketbeskrivningar.
  • Extended "-e read = set" och "-e skriv = set" alternativ för att täcka överföringar, recvmsg, sendmmsg och recvmmsg syscalls.
  • Genomförd fullständig 32-bitars avkodning av ioctl-kommandon (adresser Debian bug # 692913 och Fedora bug # 902788).
  • Implementerat PTRACE_GETREGS API-stöd på ia64.
  • Implementerat PTRACE_GETREGS API-stöd på mips.
  • Implementerat PTRACE_GETREGSET API-stöd på s390 / s390x.
  • Genomförd avkodning av getrandom och seccomp syscalls.
  • Genomförd full avkodning av 64-bitars kapacitetsuppsättningar.
  • Genomförd avkodning av alla prctl-kommandon.
  • Genomförd avkodning av parametrerade ioctl-kommandon.
  • Implementerad avkodning av evdev ioctl-kommandon.
  • Implementerad avkodning av v4l ioctl-kommandon.
  • Implementerad avkodning av SG_IO v4 ioctl kommandon.
  • Implementerad avkodning av FIFREEZE / FITHAW / FITRIM ioctl-kommandon.
  • Implementerad avkodning av FALLOC_FL_ * fallocate flaggor.
  • Genomförd avkodning av rt_sigreturnsignalmask på aarch64, x32 och x86_64.
  • Förbättrad socketavkodare för att stödja bluetooth sockets.
  • Förbättrad avkodning av olistade ioctl-kommandon.
  • Förbättrad avkodning av getsockopt och setsockopt syscall.
  • Förbättrad avkodning av sysinfo syscall.
  • Förbättrad avkodning av struct cmsghdr
  • Förbättrad avkodning av vänteläge.
  • Förbättrad aio-stöd för icke-x86-arkitekturer genom att använda extern libaio.h.
  • Tillagda O_TMPFILE till listan över erkända öppna flaggor.
  • Uppdaterade listan över filsystemstypkonstanter som används vid avkodning av statfs familjens syscalls.
  • Uppdaterade listor med CAP_ *, PR_ *, PTRACE_ *, SCHED_ *, SO_ *, SOL_ *, SWAP_FLAG_ * och TFD_ * konstanter.
  • Uppdaterade listor av signalkonstanter från Linux 3.19.
  • Uppdaterade listor över errno-konstanter från Linux 3.19.
  • Uppdaterade listor av ioctl-kommandon från Linux 3.9.
  • Tillagde nya syscall-poster som matchar Linux 3.19.
  • Buggfixar:
  • Fasta olika fel vid mappning mellan syscall-nummer och tillhörande information som antalet syscall-argument, namnet på syscall och syscall-avkodaren.
  • Fasta citatproblem i utskriftsbeskrivningar, filnamn, nätverksgränssnittsnamn, struct utsname-medlemmar, enhet / volymnamn för BLK * ioctl-kommandon.
  • Fast uid_t / git_t-avkodning.
  • Fasta potentiella out-of-bounds läser problem i getdents / getdents64-avkodare.
  • Fasta potentiella öppna flaggor trunkerar på vissa arkitekturer.
  • Fast avkodning av struct ifreq.ifr_name.
  • Fast avkodning av SIOCSIFNAME ioctl-kommandot.
  • Fast avkodning av RENAME_ * renameat2 flaggor.
  • Frikodning av UTIME_NOW / UTIME_OMIT tidevalsstrukturer.
  • Fast avkodning av indirekta ipc-underkallar på vissa arkitekturer.
  • Fast avkodning av fanotify_mark syscall på 32-bitars arkitekturer.
  • Fast avkodning av 32-bitars statstrukturer på 64-bitars arkitekturer.
  • Fast avkodning av 32-bitars struktur cmsghdr på 64-bitars arkitekturer.
  • Fast avkodning av 32-bitars preadv / pwritev offset på 64-bitars arkitekturer.
  • Fast avkodning av sigreturn / rt_sigreturnsignalmask på ia64, ppc, ppc64, sparc, sparc64, mips och s390.
  • Fasta instruktionspekareutdata (-i alternativ) på arkitekturer som stöder flera personligheter.
  • Fast beteende av "-e read = set" och "-e skriv = set" när läs och skriv uppsättningar skärs.
  • Fastbyggd på system där struct sigaction inte har någon sa_restorer-medlem.
  • Fastbyggd med uclibc och musl libc.
  • Bärbarhet:
  • Linuxkärna & gt; = 2.5.46 krävs. Äldre versioner utan anständigt PTRACE_SETOPTIONS-stöd fungerar inte.
  • På mips krävs Linux-kärna & gt; = 2.6.15. Äldre versioner utan anständigt PTRACE_GETREGS-stöd fungerar inte.
  • På s390 och s390x krävs linuxkärna & gt; = 2.6.27. Äldre versioner utan anständigt PTRACE_GETREGSET-stöd fungerar inte.

Vad är nytt i version 4.9:

  • Ändringar i beteende:
  • Inaktiverat OABI-stöd på ARM EABI-system som standard, tillagt - enable-arm-oabi-alternativet för att aktivera det vid konfigurering av tid.
  • Förbättringar:
  • Tillagd experimentell -k alternativ för att skriva ut stapelspår efter varje spårad syscall.
  • Tillagd -w alternativ för att producera statistik om syscall latens. (adresserar Debian bug # 457497).
  • Tillagd ARC-arkitektur stöd.
  • Tillagde PTRACE_GETREGS API-stöd på PowerPC.
  • Förbättrad Bionic libc och musl libc support.
  • Förbättrad spårning av x86 personlighetsprocesser på x86_64 och x32.
  • Förbättrad spårning av ARM-personlighetsprocesser på AArch64.
  • Förbättrad 32/64-bitars personlighetsdetektering på PowerPC.
  • Genomförd avkodning av add_key, ioprio_get, ioprio_set, kexec_load, keyctl, renameat2 och request_key syscalls.
  • Robustifierad avkodning av välj, pselect och io_submit syscalls.
  • Förbättrad avkodning av delete_module, fanotify_init, fanotify_mark, fcntl, setdomainname, sethostname, setns och sync_file_range syscalls.
  • Förbättrad avkodning av signalbitmasker.
  • Förbättrad avkodning av filbeskrivningar.
  • Förbättrad siginfo_t-avkodning.
  • Förbättrad PF_NETLINK-avkodning.
  • Uppdaterade CLOCK_ * konstanter (adresser Fedora bug # 1088455).
  • Tillagde nya syscall-poster som matchar Linux 3.16.
  • Buggfixar:
  • Tillagde shmat och shmdt till uppsättningen minneskortrelaterade syscalls.
  • Fast avstängning från stoppade processer.
  • Fasta fanotify_mark-avkodning på 32-bitars arkitekturer.
  • Fixerad offsetavkodning i preadv och pwritev syscalls.
  • Fast välj avkodning för glibc i _FORTIFY_SOURCE-läget.
  • Fast avkodning av epoll_ctl syscall med EPOLL_CTL_DEL argument.
  • Fast byggnad när och konflikt (adresser Fedora bug # 993384).
  • Diverse korrigeringar på den manuella sidan. (Adresser Debian bug # 725987).

Vad är nytt i version 4.8:

  • Ändringar i beteende:
  • Vid normal avstängning av spåret, när spårutmatningen omdirigeras till ett rör, stänger spåret nu det och väntar på avslutning av rörprocessen innan utgången.
  • Förbättringar:
  • Implementerad spårning med hjälp av PTRACE_SEIZE API (när tillgängligt).
  • Genomfört mer pålitlig PTRACE_GETREGSET-baserad processpersonaliseringsdetektering på x86-64 och x32 (när tillgänglig).
  • Added -e trace = minnesalternativ för att spåra minneskortrelaterade syscalls.
  • Dokumentat -b alternativ.
  • Tillåtna utgående statusmeddelanden som ska undertryckas genom att ge -q alternativ två gånger.
  • Tillagd AArch64 arkitektur stöd (adresserar Debian bug # 693074 och Fedora bug # 969858).
  • Tillagt stöd för OpenRISC 1000, Meta och Xtensa arkitekturer.
  • Tillagt personligt stöd för Tile.
  • Förbättrat stöd för NOMMU-arkitekturer.
  • Förbättrad avkodning av getdents, mmap, perf_event_open, ptrace och quotactl syscalls.
  • Tillagde nya syscall-poster som matchar Linux 3.9.
  • Regenererade listan över vanliga ioctl-namn från Linux 3.9.
  • Uppdaterade listan över errno-konstanter.
  • Uppdaterade listor av AF_ *, MADV_ *, MAP_ *, MSG_ *, MS_ *, PF_ *, PR_ *, PTRACE_O_ * och TCP_ * konstanter.
  • Implementerad avkodning av UBI ioctls.
  • Removed redundant "* 32" ioctl namn.
  • Buggfixar:
  • Fast ERESTARTNOINTR läcker till userspace på gamla kärnor (adresserar Fedora bug # 659382).
  • Parsing med fastkärnans frigöringssträng (adresserar Debian bug # 702309).
  • Fast avkodning av * xattr syscalls (adresser Fedora bug # 885233).
  • Fasta hantering av filer med 64-bitars inodnummer med 32-bitars rulle (adresser Fedora bug # 912790).
  • Fasta spårgafflar på SPARC.
  • Fast avkodning av fadvise64, fallocate, ftruncate64, io_submit, pread, preadv, pwrite, pwritev, readahead, sigaltstack, sync_file_range, sysctl och truncate64 syscalls.
  • Fasta kategorier av flera syscalls på de flesta stödda arkitekturer.
  • Fast avkodning av icke-inbyggda 32-bitars personlighet recv [m] msg syscalls.
  • Fast avkodning av flera 32-bitars personlighetssyskollar på x32.
  • Fast avkodning av långa långa syscall-argument på ARM, MIPS / o32, PowerPC, S390x och Tile-arkitekturer.
  • Fasta halvtidsavkodning på S390x.
  • Fasta sram_alloc-avkodning på Blackfin.
  • Fast byggd när process_vm_readv är en stab.
  • Fastbyggd med äldre versioner av libaio.h.

Vad är nytt i version 4.7:

  • Det här är en stabil release, med vanliga buggfixar, förbättrat stöd för fina Linux-kärnor och andra förbättringar.

Vad är nytt i version 4.6:

  • Det här är en stabil release, med vanliga buggfixar, förbättrat stöd för fina Linux-kärnor och andra förbättringar, inklusive en ny metod för att följa klon-, gaffel- och vfork-syskallar med hjälp av Linux-kärnans explicita möjligheter att spåra skapandet av trådar och barnprocesser.

Vad är nytt i version 4.5.20:

  • Förbättringar:
  • Implementerad avkodning av nya Linux-syscalls: inotify_init1, recvmmsg.
  • Implementerad grundläggande avkodning av nya Linux-syscalls: preadv, pwritev, rt_tgsigqueueinfo, perf_event_open.
  • Förbättrad avkodning av nyligen tillagda syscalls på icke-x86-arkitekturer genom att byta ut en avkodare med utarbetade parsers aktiverade tidigare för x86 / x86-64.
  • Implementerat -C-alternativ för att kombinera regelbunden och -c-utgång. (Adresser Debian bug # 466196)
  • Förbättrad avkodning av mbind och mremap syscalls.
  • Förbättrad SOL_PACKET socketoptionsavkodning.
  • Regenererad lista över ioctl-namn från Linux 2.6.33.
  • Tillagd TILE arkitektur stöd.
  • Buggfixar:
  • Fastbyggd med Linux-kärnhuvuden 2.6.32-rc5 +. (Adresser Debian bug # 560516 och Fedora bug # 539044)
  • Fast byggd på mips.
  • Fast hantering av Linux-system utan struct statfs64.
  • Fast rapporteringssignalmask av sigreturn på powerpc.
  • Stoppbuffertöverflödet med fast potential kan väljas i väljavkodaren. (Adresser Fedora bug # 556678)
  • Korrigerade meddelanden med indirekt ipccall-avkodning.
  • Korrigerad avkodning av 64bit syscalls. (Adresser Debian bug # 570603)
  • Korrigerad getockopt-avkodning på arkitekturer där sizeof (long) & gt; sizeof (int). (Adresser Debian bug # 494844)
  • Korrigerad avkodning av epoll_pwait. (Adresser Debian bug # 513014)
  • Korrigerad hantering av dödade trådar.

Liknande mjukvara

TOra
TOra

2 Jun 15

PyXMPP
PyXMPP

11 May 15

Kommentarer till strace

Kommentarer hittades inte
Kommentar
Slå på bilder!