strace

Skjermbilde programvare:
strace
Prog.varedetaljer:
Versjon: 4.19 Oppdatert
Last opp dato: 23 Nov 17
Lisens: Gratis
Popularitet: 72

Rating: 4.5/5 (Total Votes: 2)

Strace er en åpen kildekode og fritt distribuert programvare utviklet for utviklere og systemadministratorer, og gir en systemanropsporient implementert i C og designet for å kjøre utelukkende under GNU / Linux operativsystemer.

Programmet er et veldig nyttig feilsøkings-, instruksjons- og diagnostisk verktøy som kan samle alle systemanropene som genereres av et program eller en prosess, og skrive ut et spor. Det er et kommandolinjeprogram som bare kan brukes fra et konsollmiljø eller via en terminalemulatorapp.

Verktøyet kan brukes av diagnostikere, feilsøkere, samt systemadministratorer som ønsker en uvurderlig løsning for å løse problemer med lukkede programmer. Det er skrevet av Dmitry V. Levin, Roland McGrath og Wichert Akkerman.


Kommandolinjealternativer

Som alle andre kommandolinjeprogrammer tilbyr strace et bredt utvalg av kommandolinjevalg som gjør at brukeren enkelt kan bruke all funksjonalitet og funksjoner for å oppnå sine oppgaver. Alle dens kommandolinjealternativer kan vises med et øyeblikk ved å kjøre & lsquo; strace --help & rsquo; kommando.

Blant de mest interessante kommandolinjevalgene kan vi nevne støtte for tellingstider, samtaler og feil for hver syscall, støtte for å oppsummere syscall latency, støtte for å spore tilgang til en bestemt sti, støtte for å aktivere feilsøkingsutgang til stderr, samt støtte til å kjøre en sporingsprosess som en frittliggende barnebarn, ikke som forelder.

I tillegg vil du kunne sende sporinformasjon til en bestemt fil i stedet for stderr, for å sette overhead for å spore syscalls til en overhead-usec, for å angi en PID-fil for sporingsprosessen, for å begrense lengden på utskriftsstrenger å strarsize tegn, å kjøre kommandoer som brukernavnshåndtering setgid og / eller setuid, og å løsne på en bestemt syscall.


Komme i gang med strace

Strace distribueres bare som en kilde tarball, men det kan enkelt installeres på en rekke distribusjoner av Linux fra de viktigste programvarebehandlingene. For å installere den fra kilder, bare last ned den nyeste versjonen fra Softoware, lagre arkivet på et sted du ønsker og pakke ut det.

Åpne en Terminal-app, gå til plasseringen av de hentede arkivfilene (for eksempel cd /home/softoware/strace-4.9), kjør ./configure && make & rsquo; kommandoen for å konfigurere og kompilere strace, og deretter utføre & lsquo; gjøre installering & rsquo; kommandoen som root eller "sudo make install & rsquo; kommandoen som en privilegert bruker for å installere strass system wide.

Hva er nytt i denne versjonen:

  • Forbedringer:
  • Lagt til - et alternativ til å skrive ut protokoll og adresseinformasjon knyttet til socketbeskrivelser.
  • Utvidet "-e lese = sett" og "-t skrive = sett" alternativer for å dekke sendmsg, recvmsg, sendmmsg og recvmmsg syscalls.
  • Implementert full 32-bits dekoding av ioctl-kommandoer (adresser Debian bug # 692913 og Fedora bug # 902788).
  • Implementert PTRACE_GETREGS API-støtte på ia64.
  • Implementert PTRACE_GETREGS API-støtte på mips.
  • Implementert PTRACE_GETREGSET API-støtte på s390 / s390x.
  • Implementert dekoding av getrandom og seccomp syscalls.
  • Implementert full dekoding av 64-bits kapasitetssett.
  • Implementert dekoding av alle prctl-kommandoer.
  • Implementert dekoding av parametrert ioctl-kommandoer.
  • Implementert dekoding av evdev ioctl kommandoer.
  • Implementert dekoding av v4l ioctl kommandoer.
  • Implementert dekoding av SG_IO v4 ioctl kommandoer.
  • Implementert dekoding av FIFREEZE / FITHAW / FITRIM ioctl kommandoer.
  • Implementert dekoding av FALLOC_FL_ * fallocate flagg.
  • Implementert dekoding av rt_sigreturnsignalmaske på aarch64, x32 og x86_64.
  • Forbedret stikkdekoder for å støtte Bluetooth-stikkontakter.
  • Forbedret dekoding av unoterte ioctl-kommandoer.
  • Forbedret avkodning av getsockopt og setockopt syscall.
  • Forbedret dekoding av sysinfo syscall.
  • Forbedret dekoding av struct cmsghdr.
  • Forbedret dekoding av ventetilstand.
  • Forbedret aio-støtte på ikke-x86-arkitekturer ved å bruke ekstern libaio.h.
  • Lagt O_TMPFILE til listen over anerkjente åpne modusflagger.
  • Oppdaterte listen over filsystemtypekonstanter som brukes til å dekode statfs familie syscalls.
  • Oppdaterte lister over CAP_ *, PR_ *, PTRACE_ *, SCHED_ *, SO_ *, SOL_ *, SWAP_FLAG_ * og TFD_ * konstanter.
  • Oppdaterte lister over signalkonstanter fra Linux 3.19.
  • Oppdaterte lister over errno-konstanter fra Linux 3.19.
  • Oppdaterte lister over ioctl-kommandoer fra Linux 3.9.
  • Lagt til nye syscall-oppføringer som samsvarer med Linux 3.19.
  • Feilrettelser:
  • Faste forskjellige feil i kartlegging mellom syscall-tall og tilhørende informasjon som antall syscall-argumenter, navnet på syscall og syscall-dekoderen.
  • Faste anførselstegn i utskriftsbeskrivelser, filnavn, nettverksgrensesnittsnavn, struct utsname-medlemmer, enhet / volumnavn på BLK * ioctl-kommandoer.
  • Fast uid_t / git_t dekoding.
  • Faste potensielle out-of-bounds leser problemer i getdents / getdents64 dekodere.
  • Faste potensielle åpne flagger trunker på enkelte arkitekturer.
  • Fast dekoding av struct ifreq.ifr_name.
  • Fast dekoding av SIOCSIFNAME ioctl-kommandoen.
  • Fast dekoding av RENAME_ * renameat2 flagg.
  • Fast dekoding av UTIME_NOW / UTIME_OMIT tidevannstrukturer.
  • Fast dekoding av indirekte ipc-underkall på enkelte arkitekturer.
  • Fast dekoding av fanotify_mark syscall på 32-biters arkitekturer.
  • Fast dekoding av 32-bit statstrukturer på 64-biters arkitekturer.
  • Fast dekoding av 32-biters struktur cmsghdr på 64-biters arkitekturer.
  • Fast dekoding av 32-bit preadv / pwritev offset på 64-biters arkitekturer.
  • Fast dekoding av Sigreturn / rt_sigreturn signalmaske på ia64, ppc, ppc64, sparc, sparc64, mips og s390.
  • Faste instruksjonspekerutgang (-i alternativ) på arkitekturer som støtter flere personligheter.
  • Fast oppførsel av "-e read = set" og "-t skrive = sett" når lese og skrive sett krysser.
  • Fastbygg på systemer der Struct Sigaction ikke har et Sa_restorer-medlem.
  • Fastbygg med uclibc og musl libc.
  • Ability:
  • Linux-kjerne> = 2.5.46 er nødvendig. Eldre versjoner uten en anstendig PTRACE_SETOPTIONS-støtte virker ikke.
  • På mips er Linux kjerne & gt; = 2.6.15 påkrevd. Eldre versjoner uten en anstendig PTRACE_GETREGS-støtte virker ikke.
  • På s390 og s390x er Linux kjerne & gt; = 2.6.27 påkrevd. Eldre versjoner uten en anstendig PTRACE_GETREGSET-støtte virker ikke.

Hva er nytt i versjon 4.9:

  • Endringer i atferd:
  • Deaktivert OABI-støtte på ARM EABI-systemer som standard, lagt til - alternativ-arm-oabi-alternativet for å aktivere det ved å konfigurere tiden.
  • Forbedringer:
  • Lagt til eksperimentelt -k alternativ for å skrive ut stakkespor etter hver sporet syscall.
  • Lagt til -w alternativ for å produsere statistikk på syscall latency. (adresser Debian bug # 457497).
  • Lagt til ARC-arkitekturstøtte.
  • Lagt til PTRACE_GETREGS API-støtte på PowerPC.
  • Forbedret Bionic libc og musl libc support.
  • Forbedret sporing av x86 personlighetsprosesser på x86_64 og x32.
  • Forbedret sporing av ARM personlighetsprosesser på AArch64.
  • Forbedret 32 ​​/ 64bit personlighetsdeteksjon på PowerPC.
  • Implementert dekoding av add_key, ioprio_get, ioprio_set, kexec_load, keyctl, renameat2 og request_key syscalls.
  • Robust dekoding av velg, pselect og io_submit syscalls.
  • Forbedret dekoding av delete_module, fanotify_init, fanotify_mark, fcntl, setdomainname, sethostname, setns og sync_file_range syscalls.
  • Forbedret dekoding av signalbitmasker.
  • Forbedret dekoding av filbeskrivere.
  • Forbedret siginfo_t-dekoding.
  • Forbedret PF_NETLINK-dekoding.
  • Oppdaterte CLOCK_ * konstanter (adresser Fedora bug # 1088455).
  • Lagt til nye syscalloppføringer som samsvarer med Linux 3.16.
  • Feilrettelser:
  • Lagt til shmat og shmdt til settet med minnekortrelaterte syscalls.
  • Frikoppling fra stoppede prosesser.
  • Fiks fanotify_mark-dekoding på 32-biters arkitekturer.
  • Fast avregning dekoding i preadv og pwritev syscalls.
  • Fast velg dekoding for glibc i _FORTIFY_SOURCE-modus.
  • Fast dekoding av epoll_ctl syscall med EPOLL_CTL_DEL argument.
  • Fastbygging når og konflikt (adresser Fedora bug # 993384).
  • Diverse korreksjoner i den manuelle siden. (Adresser Debian bug # 725987).

Hva er nytt i versjon 4.8:

  • Endringer i atferd:
  • Ved normal strace-avslutning, når sporutgangen blir omdirigert til et rør, lukker strace nå den og venter på avslutning av rørprosessen før avkjøring.
  • Forbedringer:
  • Implementert sporing ved hjelp av PTRACE_SEIZE API (når tilgjengelig).
  • Implementert mer pålitelig PTRACE_GETREGSET-basert prosesspersonalitetsdeteksjon på x86-64 og x32 (når tilgjengelig).
  • Lagt til -e spor = minnealternativ for å spore minnekortrelaterte syscalls.
  • Dokumentert -b-alternativ.
  • Tillatte utgangsstatusmeldinger som skal undertrykkes ved å gi -q alternativ to ganger.
  • Lagt til AArch64-arkitekturstøtte (adresser Debian bug # 693074 og Fedora bug # 969858).
  • Lagt til støtte for OpenRISC 1000, Meta og Xtensa arkitekturer.
  • Lagt til tilegx personlighetstøtte for Tile.
  • Forbedret støtte for NOMMU-arkitekturer.
  • Forbedret dekoding av getdents, mmap, perf_event_open, ptrace og quotactl syscalls.
  • Lagt til nye syscalloppføringer for å matche Linux 3.9.
  • Regenerert listen over vanlige ioctl-navn fra Linux 3.9.
  • Oppdaterte listen over errno-konstanter.
  • Oppdaterte lister over AF_ *, MADV_ *, MAP_ *, MSG_ *, MS_ *, PF_ *, PR_ *, PTRACE_O_ * og TCP_ * konstanter.
  • Implementert dekoding av UBI ioctls.
  • Fjernet overflødig "32" ioctl navn.
  • Feilrettelser:
  • Fast ERESTARTNOINTR lekker til userspace på gamle kjerner (adresser Fedora bug # 659382).
  • Feilsøking av fast kjerneutgivelse (adresser Debian bug # 702309).
  • Fast dekoding av * xattr syscalls (adresser Fedora bug # 885233).
  • Fast håndtering av filer med 64-biters inode tall med 32-biters strace (adresser Fedora bug # 912790).
  • Fastsporgaffel på SPARC.
  • Fast dekoding av fadvise64, fallocate, ftruncate64, io_submit, pread, preadv, pwrite, pwritev, readahead, sigaltstack, sync_file_range, sysctl og truncate64 syscalls.
  • Faste kategorier av flere syscalls på de fleste støttede arkitekturer.
  • Ferdig avkodning av ikke-innfødte 32-biters personlighet recv [m] msg syscalls.
  • Ferdig avkodning av flere 32-biters personlighet syscalls på x32.
  • Fast dekoding av lange lange syscall-argumenter på ARM, MIPS / o32, PowerPC, S390x og Tile-arkitekturer.
  • Ferdig halvtemodedekoding på S390x.
  • Fast sram_alloc-dekoding på Blackfin.
  • Fastbygging når process_vm_readv er en stab.
  • Fastbygg med eldre versjoner av libaio.h.

Hva er nytt i versjon 4.7:

  • Dette er en stabil utgave, med de vanlige feilrettingene, forbedret støtte for friske Linux-kjerner og andre forbedringer.

Hva er nytt i versjon 4.6:

  • Dette er en stabil utgave, med vanlige feilrettinger, forbedret støtte for friske Linux-kjerner og andre forbedringer, inkludert en ny metode for å følge klon-, gaffel- og vfork-syscalls ved hjelp av Linux-kjernens eksplisitte anlegg for å spore opp tråder og barnprosesser.

Hva er nytt i versjon 4.5.20:

  • Forbedringer:
  • Implementert dekoding av nye Linux-syscalls: inotify_init1, recvmmsg.
  • Implementert grunnleggende dekoding av nye Linux-syscalls: preadv, pwritev, rt_tgsigqueueinfo, perf_event_open.
  • Forbedret dekoding av nylig lagt til syscalls på ikke-x86-arkitekturer ved å erstatte en dekoder med utførlige parsere aktivert tidligere for x86 / x86-64.
  • Implementert -C-alternativet for å kombinere vanlig og -c-utgang. (Adresser Debian bug # 466196)
  • Forbedret dekoding av mbind og mremap syscalls.
  • Forbedret SOL_PACKET socketalternativer dekoding.
  • Regenerert liste over ioctl-navn fra Linux 2.6.33.
  • Lagt til TILE arkitektur støtte.
  • Feilrettelser:
  • Fast bygg med Linux-kjerneoverskrifter 2.6.32-rc5 +. (Adresser Debian bug # 560516 og Fedora bug # 539044)
  • Fast bygg på mips.
  • Fast håndtering av Linux-systemer uten struct statfs64.
  • Ferdig rapporteringssignalmaske av sigreturn på powerpc.
  • Fast potensiell stakkbufferoverløp i valgt dekoder. (Adresser Fedora bug # 556678)
  • Korrigert beskjedet indirekte ipccall-dekoding.
  • Korrigert dekoding av 64bit syscalls. (Adresser Debian bug # 570603)
  • Korrigert getockopt dekoding på arkitekturer hvor sizeof (long) & gt; sizeof (int). (Adresser Debian bug # 494844)
  • Korrigert dekoding av epoll_pwait. (Adresser Debian bug # 513014)
  • Korrigert håndtering av drepte tråder.

Lignende programvare

interruptingcow
interruptingcow

14 Apr 15

Pyshield
Pyshield

11 May 15

radare
radare

11 May 15

Kommentarer til strace

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!