strace

Software screenshot:
strace
Software detaljer:
Version: 4.19 Opdateret
Upload dato: 23 Nov 17
Licens: Gratis
Popularitet: 72

Rating: 4.5/5 (Total Votes: 2)

strace er en open source og frit distribueret software designet til udviklere og systemadministratorer, der leverer et systemopkaldsracer implementeret i C og designet til udelukkende at køre under GNU / Linux operativsystemer.

Programmet er et meget nyttigt debugging-, instruktions- og diagnostisk værktøj, der kan samle alle systemopkald, der genereres af et program eller en proces, og udskrive et spor. Det er et kommandolinjeprogram, der kun kan bruges fra et konsolmiljø eller via en terminalemulatorapp.

Værktøjet kan bruges af diagnostikere, fejlfindingsprogrammer og systemadministratorer, der ønsker en uvurderlig løsning til løsning af problemer med closed source-programmer. Det er skrevet af Dmitry V. Levin, Roland McGrath og Wichert Akkerman.


Kommandolinje indstillinger

Ligesom alle andre kommandolinjeprogrammer tilbyder strace et bredt udvalg af kommandolinjeindstillinger, der gør det muligt for brugeren nemt at bruge alle dets funktionaliteter og funktioner for at nå deres opgaver. Alle dens kommandolinjeindstillinger kan ses på et øjeblik ved at køre & lsquo; strace --help & rsquo; kommando.

Blandt de mest interessante kommandolinjeindstillinger kan vi nævne støtte til tællingstider, opkald og fejl for hver syscall, støtte til opsummering af syscall latency, støtte til at spore adgang til en bestemt sti, støtte til aktivering af debug output til stderr, samt støtte til at køre en sporingsproces som et fritliggende børnebarn, ikke som forælder.

Desuden vil du kunne sende sporinformation til en bestemt fil i stedet for stderr, for at indstille overhead til at spore syscalls til en overhead-usec, at indstille en PID-fil til sporingsprocessen for at begrænse længden af ​​udskriftsstrengene for at strække tegn, at køre kommandoer som brugernavnshåndtering setgid og / eller setuid, og at løsne på en bestemt syscall.


Kom i gang med strace

Strace distribueres kun som en kilde tarball, men det kan nemt installeres på mange distributioner af Linux fra deres primære software repositories. For at installere det fra kilder, skal du bare downloade den nyeste version fra Softoware, gem arkivet på et sted efter eget valg og pakke det ud.

Åbn en Terminal-app, gå til placeringen af ​​de udpakkede arkivfiler (f.eks. cd /home/softoware/strace-4.9), kør ./configure && make & rsquo; kommando til at konfigurere og kompilere strace, og derefter udføre & lsquo; gøre installation & rsquo; kommando som root eller "sudo make install & rsquo; kommandoen som en privilegeret bruger til at installere strace system wide.

Hvad er nyt i denne udgave:

  • Forbedringer:
  • Lagt til - en mulighed for at udskrive protokol- og adresseoplysninger i forbindelse med socketbeskrivelser.
  • Udvidet & quot; -e læst = indstillet & quot; og & quot; -e write = set & quot; muligheder for at dække sendmsg, recvmsg, sendmmsg og recvmmsg syscalls.
  • Implementeret fuld 32-bit dekodning af ioctl-kommandoer (adresser Debian bug # 692913 og Fedora bug # 902788).
  • Implementeret PTRACE_GETREGS API-understøttelse på ia64.
  • Implementeret PTRACE_GETREGS API-understøttelse på mips.
  • Implementeret PTRACE_GETREGSET API-understøttelse på s390 / s390x.
  • Implementeret dekodning af getrandom og seccomp syscalls.
  • Implementeret fuld afkodning af 64-biters kapacitetssæt.
  • Implementeret dekodning af alle prctl kommandoer.
  • Implementeret dekodning af parametrierede ioctl-kommandoer.
  • Implementeret dekodning af evdev ioctl kommandoer.
  • Implementeret dekodning af v4l ioctl kommandoer.
  • Implementeret dekodning af SG_IO v4 ioctl kommandoer.
  • Implementeret dekodning af FIFREEZE / FITHAW / FITRIM ioctl kommandoer.
  • Implementeret dekodning af FALLOC_FL_ * fallocate flag.
  • Implementeret dekodning af rt_sigreturnsignalmaske på aarch64, x32 og x86_64.
  • Forbedret sokkel dekoder til understøttelse af bluetooth sockets.
  • Forbedret afkodning af unoterede ioctl-kommandoer.
  • Forbedret afkodning af getsockopt og setsockopt syscall.
  • Forbedret afkodning af sysinfo syscall.
  • Forbedret afkodning af struct cmsghdr.
  • Forbedret afkodning af ventetilstand.
  • Forbedret aio-støtte på ikke-x86-arkitekturer ved hjælp af ekstern libaio.h.
  • Tilføjet O_TMPFILE til listen over anerkendte open-mode-flag.
  • Opdateret listen over filsystemstypekonstanter, der bruges til afkodning af statfs familie syscalls.
  • Opdaterede lister over CAP_ *, PR_ *, PTRACE_ *, SCHED_ *, SO_ *, SOL_ *, SWAP_FLAG_ * og TFD_ * konstanter.
  • Opdaterede lister over signalkonstanter fra Linux 3.19.
  • Opdaterede lister over errno-konstanter fra Linux 3.19.
  • Opdaterede lister over ioctl-kommandoer fra Linux 3.9.
  • Tilføjede nye syscall-poster, der passer til Linux 3.19.
  • Fejlrettelser:
  • Faste forskellige fejl i kortlægning mellem syscall-numre og tilhørende oplysninger som antallet af syscall-argumenter, navnet på syscall og syscall-dekoderen.
  • Faste citatproblemer i udskrivningsbeskrivelser, filnavne, navne på netværksgrænseflader, strukt utsname-medlemmer, enheds- / volumennavne af BLK * ioctl-kommandoer.
  • Fast uid_t / git_t dekodning.
  • Faste potentielle out-of-bounds læser problemer i getdents / getdents64-dekodere.
  • Faste potentielle åbne flag trunker på nogle arkitekturer.
  • Fast afkodning af struct ifreq.ifr_name.
  • Fast afkodning af SIOCSIFNAME ioctl kommando.
  • Fast afkodning af RENAME_ * renameat2 flag.
  • Fast afkodning af UTIME_NOW / UTIME_OMIT tidevandsstrukturer.
  • Fast afkodning af indirekte ipc-subcalls på nogle arkitekturer.
  • Fast dekodering af fanotify_mark syscall på 32-bit arkitekturer.
  • Fast dekodning af 32-bit statstrukturer på 64-bit arkitekturer.
  • Fast dekodning af 32-bit struct cmsghdr på 64-bit arkitekturer.
  • Fast dekodning af 32-bit preadv / pwritev offset på 64-bit arkitekturer.
  • Fast afkodning af sigreturn / rt_sigreturn signalmaske på ia64, ppc, ppc64, sparc, sparc64, mips og s390.
  • Fuld instruktion pointer output (-i option) på arkitekturer, der understøtter flere personligheder.
  • Fast opførsel af "-e læse = indstille" og & quot; -e write = set & quot; når læse og skrive sæt skærer.
  • Fastbygget på systemer, hvor struct sigaction ikke har et sa_restorer-medlem.
  • Fastbygget med uclibc og musl libc.
  • Overførsel:
  • Linux-kerne & gt; = 2.5.46 er påkrævet. Ældre versioner uden en anstændig PTRACE_SETOPTIONS-understøttelse virker ikke.
  • På mips er Linux kerne & gt; = 2.6.15 påkrævet. Ældre versioner uden en anstændig PTRACE_GETREGS-understøttelse virker ikke.
  • På s390 og s390x er Linux kernel & gt; = 2.6.27 påkrævet. Ældre versioner uden en anstændig PTRACE_GETREGSET-understøttelse virker ikke.

Hvad er nyt i version 4.9:

  • Ændringer i adfærd:
  • Deaktiveret OABI-understøttelse på ARM EABI-systemer som standard, tilføjet - aable-arm-oabi-mulighed for at aktivere det ved at konfigurere tiden.
  • Forbedringer:
  • Tilføjet eksperimentelt -k mulighed for at udskrive stakke spor efter hver sporet syscall.
  • Tilføjet -w mulighed for at producere statistikker om syscall latency. (adresser Debian bug # 457497).
  • Tilføjet ARC-arkitektur support.
  • Tilføjet PTRACE_GETREGS API-understøttelse på PowerPC.
  • Forbedret Bionic libc og musl libc support.
  • Forbedret sporing af x86 personlighedsprocesser på x86_64 og x32.
  • Forbedret sporing af ARM personlighedsprocesser på AArch64.
  • Forbedret 32 ​​/ 64bit personlighed afsløring på PowerPC.
  • Implementeret dekodning af add_key, ioprio_get, ioprio_set, kexec_load, keyctl, renameat2 og request_key syscalls.
  • Robustificeret dekodning af valg, pselect og io_submit syscalls.
  • Forbedret afkodning af delete_module, fanotify_init, fanotify_mark, fcntl, setdomainname, sethostname, setns og sync_file_range syscalls.
  • Forbedret afkodning af signalbitmasker.
  • Forbedret afkodning af filbeskrivere.
  • Forbedret siginfo_t dekodning.
  • Forbedret PF_NETLINK-dekodning.
  • Opdaterede CLOCK_ * konstanter (adresser Fedora bug # 1088455).
  • Tilføjede nye syscall-poster, der matcher Linux 3.16.
  • Fejlrettelser:
  • Tilføjet shmat og shmdt til sæt af hukommelseskort relaterede syscalls.
  • Fast frigørelse fra stoppede processer.
  • Fast fanotify_mark-dekodning på 32bit-arkitekturer.
  • Fast offset-dekodning i preadv og pwritev syscalls.
  • Fixed vælg dekodning for glibc i _FORTIFY_SOURCE-tilstand.
  • Fast afkodning af epoll_ctl syscall med EPOLL_CTL_DEL argument.
  • Fastbygget når og konflikt (adresser Fedora bug # 993384).
  • Diverse korrektioner i den manuelle side. (Adresser Debian bug # 725987).

Hvad er nyt i version 4.8:

  • Ændringer i adfærd:
  • I tilfælde af normal strace-afslutning, når sporeffekten omdirigeres til et rør, lukker straks nu det og venter på afslutning af rørprocessen inden afgangen.
  • Forbedringer:
  • Gennemført sporing ved hjælp af PTRACE_SEIZE API (hvis tilgængelig).
  • Implementeret mere pålidelig PTRACE_GETREGSET-baseret procespersonalitetsopdagelse på x86-64 og x32 (hvis tilgængelig).
  • Tilføjet -e spor = hukommelsesindstilling til sporing af hukommelseskortrelaterede syscalls.
  • Dokumenteret -b mulighed.
  • Tilladte statusmeldinger, der skal undertrykkes, ved at give -q mulighed to gange.
  • Tilføjet AArch64 arkitektur support (adresser Debian bug # 693074 og Fedora bug # 969858).
  • Tilføjet support til OpenRISC 1000, Meta og Xtensa arkitekturer.
  • Tilføjet tilegx personlighed support til Tile.
  • Forbedret understøttelse af NOMMU-arkitekturer.
  • Forbedret afkodning af getdents, mmap, perf_event_open, ptrace og quotactl syscalls.
  • Tilføjede nye syscall-poster, der matcher Linux 3.9.
  • Genopbygget listen over fælles ioctl navne fra Linux 3.9.
  • Opdateret listen over errno-konstanter.
  • Opdaterede lister over AF_ *, MADV_ *, MAP_ *, MSG_ *, MS_ *, PF_ *, PR_ *, PTRACE_O_ * og TCP_ * konstanter.
  • Implementeret dekodning af UBI ioctls.
  • Fjernet overflødigt "* 32" ioctl navne.
  • Fejlrettelser:
  • Fast ERESTARTNOINTR lækker til brugerrum på gamle kerner (adresser Fedora bug # 659382).
  • Fejlfinding med fast kerneløsningstreng (adresser Debian bug # 702309).
  • Fast afkodning af * xattr syscalls (adresser Fedora bug # 885233).
  • Fast håndtering af filer med 64-bit inode numre med 32-bit stribe (adresser Fedora bug # 912790).
  • Fastsporingsgafler på SPARC.
  • Fast afkodning af fadvise64, fallocate, ftruncate64, io_submit, pread, preadv, pwrite, pwritev, readahead, sigaltstack, sync_file_range, sysctl og truncate64 syscalls.
  • Faste kategorier af flere syscalls på de fleste understøttede arkitekturer.
  • Fast dekodning af ikke-indbyggede 32-bit personlighed recv [m] msg syscalls.
  • Fast afkodning af flere 32-bit personlighed syscalls på x32.
  • Fast dekodning af lange lange syscall argumenter på ARM, MIPS / o32, PowerPC, S390x og Tile arkitekturer.
  • Fast halvtimetodning på S390x.
  • Fast sram_alloc-dekodning på Blackfin.
  • Fastbygget, når process_vm_readv er en stab.
  • Fastbygget med ældre versioner af libaio.h.

Hvad er nyt i version 4.7:

  • Dette er en stabil udgivelse med de sædvanlige fejlrettelser, forbedret understøttelse af friske Linux-kerner og andre forbedringer.

Hvad er nyt i version 4.6:

  • Dette er en stabil udgivelse med almindelige fejlrettelser, forbedret support til friske Linux-kerner og andre forbedringer, herunder en ny metode til at følge klon-, gaffel- og vfork-syscalls ved hjælp af Linux-kernens eksplicitte faciliteter til sporing af oprettelse af tråde og børneprocesser.

Hvad er nyt i version 4.5.20:

  • Forbedringer:
  • Implementeret dekodning af nye Linux-syscalls: inotify_init1, recvmmsg.
  • Implementeret grundlæggende dekodning af nye Linux-syscalls: preadv, pwritev, rt_tgsigqueueinfo, perf_event_open.
  • Forbedret afkodning af nyligt tilføjede syscalls på ikke-x86-arkitekturer ved at erstatte en bare dekoder med udførlige parsere aktiveret tidligere for x86 / x86-64.
  • Implementeret -C-mulighed for at kombinere regelmæssig og -c-udgang. (Adresser Debian bug # 466196)
  • Forbedret afkodning af mbind og mremap syscalls.
  • Forbedret SOL_PACKET socketoptions dekodning.
  • Regenereret liste over ioctl navne fra Linux 2.6.33.
  • Tilføjet TILE arkitektur support.
  • Fejlrettelser:
  • Fastbygget med Linux kernel headers 2.6.32-rc5 +. (Adresser Debian bug # 560516 og Fedora bug # 539044)
  • Fastbygget på mips.
  • Fast håndtering af Linux-systemer uden struct statfs64.
  • Faste rapporteringssignalmask ved sigreturn på powerpc.
  • Fast potential stack buffer overløb i vælg dekoder. (Adresser Fedora bug # 556678)
  • Korrigeret besked med indirekte ipccall-dekodning.
  • Korrigeret dekodning af 64bit syscalls. (Adresser Debian bug # 570603)
  • Korrigeret getockopt dekodning på arkitekturer hvor sizeof (long) & gt; sizeof (int). (Adresser Debian bug # 494844)
  • Korrigeret dekodning af epoll_pwait. (Adresser Debian bug # 513014)
  • Korrigeret håndtering af dræbte tråde.

Lignende software

Kommentarer til strace

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!