strace

Software kuvakaappaus:
strace
Ohjelmiston tiedot:
Versio: 4.19 Päivitetty
Lähetyksen päivämäärä: 23 Nov 17
Lupa: Vapaa
Suosio: 23

Rating: 5.0/5 (Total Votes: 1)

strace on avoimen lähdekoodin ja vapaasti hajautetun ohjelmiston, joka on suunniteltu kehittäjille ja järjestelmänvalvojille, ja joka tarjoaa järjestelmäkutsutunnistimen, joka on toteutettu C: ssä ja joka on suunniteltu käytettäväksi yksinomaan GNU / Linux-käyttöjärjestelmissä.

Ohjelma on erittäin hyödyllinen virheenkorjaus, ohjeistus- ja diagnostiikkaväline, joka pystyy keräämään kaikki järjestelmän tai prosessin tuottamat järjestelmäpuhelut ja tulosta jäljen. Se on komentoriviohjelma, jota voi käyttää vain konsoliympäristöstä tai pääteemulaattorisovelluksesta.

Työkalua voivat käyttää vianmääritysohjelmat, vianmäärityslaitteet ja järjestelmänvalvojat, jotka haluavat korvaamattoman ratkaisun suljetun lähdekoodin ohjelmien ongelmien ratkaisemiseen. Sen kirjoittavat Dmitry V. Levin, Roland McGrath ja Wichert Akkerman.


Komentorivivaihtoehdot

Kuten minkä tahansa muun komentorivin ohjelmisto, strace tarjoaa monenlaisia ​​komentorivivalintoja, joiden avulla käyttäjä voi helposti käyttää kaikkia toimintojaan ja ominaisuuksiaan tehtäviensä suorittamiseksi. Kaikki sen komentorivivalinnat voidaan tarkastella yhdellä silmäyksellä suorittamalla & lsquo; strace --help & rsquo; komento.

Mielenkiintoisimmista komentorivin vaihtoehdoista mainittakoon tukeminen laskentajille, puheluille ja virheille jokaiselle syscall-järjestelmälle, tuki yhteenvedon syscall-latenssille, tuki tietyn polun pääsyn jäljittämiseen, tukeminen debder-tuotoksen sallimiseksi stderrille, samoin kuin tuki jäljitysprosessin suorittamiseksi irrotettuna lapsenlapsena, ei vanhempana.

Lisäksi voit lähettää jäljitystietoja tiettyyn tiedostoon stderr: n sijasta, asettaa yleiskatsauksen seuraamaan syscalls-päätelaitteita, määrittämään PID-tiedoston jäljitysprosessille, rajoittamaan tulostusjonojen pituutta strsize komentoja, suorittaa komennot käyttäjätunnuksen asetukseksi setgid ja / tai setuid ja irrottaa tietyn syscallin.


Aloita strace

strace jakautuu vain lähdetiedostoksi, mutta se voidaan helposti asentaa useisiin Linux-jakeluihin tärkeimmistä ohjelmistojen arkistoista. Jos haluat asentaa sen lähteistä, lataa uusin versio Softoware-ohjelmasta, tallenna arkisto haluamallasi paikasta ja poista se pakkauksesta.

Avaa Terminal-sovellus, siirry purettujen arkistotiedostojen sijaintiin (esim. cd /home/softoware/strace-4.9), suorita ./configure && make & rsquo; komento konfiguroida ja koota strace ja suorittaa sitten & lsquo; make install & rsquo; komento root tai sudo make install & rsquo;

Mitä uutta on tässä versiossa:

  • parannukset:
  • Lisätty -yy-vaihtoehto tulostaa protokollan ja osoitetiedot, jotka liittyvät socket-kuvaajiin.
  • Laajennettu & e-read = aseta & quot; ja "-e write = set" vaihtoehtoja lähettää sendmsg, recvmsg, sendmmsg ja recvmmsg syscalls.
  • Toteutettu täydellinen 32-bittinen dekoodaus ioctl-komennoista (Debian-bugi # 692913 ja Fedora bug # 902788).
  • Toteutetaan PTRACE_GETREGS API-tuki ia64: lle.
  • Toteutettiin PPLACE_GETREGS API-tuki mipsille.
  • Toteutetaan PTRACE_GETREGSET-sovellusliittymän tuki s390 / s390x: llä.
  • Täytetty dekoodaus getrandom ja seccomp syscalls.
  • Toteutettu 64-bittisten ominaisuuksien täydellinen dekoodaus.
  • Kaikkien prctl-komentoiden toteutettu dekoodaus.
  • Parametroitujen ioctl-komentoiden toteutettu dekoodaus
  • Evdev ioctl -komentojen toteutettu dekoodaus.
  • V4l ioctl -komentojen toteutettu dekoodaus.
  • SG_IO v4 ioctl -komentojen toteutettu dekoodaus.
  • FIFREEZE / FITHAW / FITRIM ioctl -komentojen toteutettu dekoodaus.
  • Täytetty dekoodaus FALLOC_FL_ * fallocate lippuja.
  • Rt_sigreturn-signaalimaskin dekoodaus aarch64-, x32- ja x86_64-tiedostoilla.
  • Enhanced socket decoder tukemaan bluetooth-liitäntöjä.
  • Listattujen ioctl-komentojen tehostettu dekoodaus.
  • Getsockoptin ja setsockopt syscallin tehostettu dekoodaus.
  • Sysinfo-syscallin tehostettu dekoodaus.
  • Rakennetun cmsghdr: n tehostettu dekoodaus
  • Vahvistustilan vahvistettu dekoodaus
  • Parannettu aio-tuki muille kuin x86-arkkitehtuureille käyttämällä ulkoista libaio.h.
  • Lisätty O_TMPFILE hyväksytyn avoimen tilan lipun luetteloon.
  • Päivitettiin tiedostojärjestelmätyyppisten vakiojen luettelo, jota käytetään statfs-perhejärjestelmien syscallien dekoodauksessa.
  • Päivitetty luettelo CAP_ *, PR_ *, PTRACE_ *, SCHED_ *, SO_ *, SOL_ *, SWAP_FLAG_ * ja TFD_ * vakio.
  • Päivitetty luettelo Linux 3.19: n signaalivakiosta.
  • Päivitetty Linux-3.19: n mukaisten errno-vakioiden luettelot.
  • Päivitetty listat ioctl-komennoista Linux 3.9: sta.
  • Lisätty uusia syscall-merkintöjä vastaamaan Linux 3.19.
  • Virheiden korjaukset:
  • Fixed eri virheitä syscall-numeroiden ja niihin liittyvien tietojen, kuten syscall-argumenttien määrän, syscallin ja syscall-dekooderin, välillä.
  • Fixed quotation -ongelmat tulostuskirjoittajissa, tiedostonimeissä, verkkoliitännän nimissä, struct utsname -jäsenissä, BLK * ioctl -komentojen laitteiden / tilien nimissä.
  • Kiinteä uid_t / git_t -dekoodaus.
  • Kiinteät mahdolliset out-of-bounds lue ongelmat getdents / getdents64 -dekoodereissa.
  • Kiinteät mahdolliset avoimet liput leikkaavat joillakin arkkitehtuureilla.
  • Fixed dekoodaus struct ifreq.ifr_name.
  • SIOCSIFNAME ioctl -komennon kiinteä dekoodaus
  • RENAME_ * renameat2 -lippujen kiinteä dekoodaus.
  • Kiinteä dekoodaus UTIME_NOW / UTIME_OMIT timeval rakenteista.
  • Välillisten ipc-aliverkkojen kiinteä dekoodaus tietyissä arkkitehtuureissa.
  • Fanotify_mark syscallin kiinteä dekoodaus 32-bittisissä arkkitehtuureissa.
  • 32-bittisten stat rakenteiden kiinteä dekoodaus 64-bittisissä arkkitehtuureissa.
  • 32-bittisen strukturoidun cmsghdr: n kiinteä dekoodaus 64-bittisissä arkkitehtuureissa.
  • 32-bittisen preadv / pwritev -offsetin kiinteä dekoodaus 64-bittisissä arkkitehtuureissa.
  • Sigreturn / rt_sigreturn signaalimaskin kiinteä dekoodaus ia64, ppc, ppc64, sparc, sparc64, mips ja s390.
  • Kiinteä osoittimen osoitin (-i -vaihtoehto) useille persoonallisille käyttäjille.
  • "-e read = set" -tekniikan kiinteä käyttäytyminen ja "-e write = set" kun luku- ja kirjoitusjoukot leikkaavat.
  • Kiinteä rakentaminen järjestelmille, joissa rakenteilla ei ole sa_restorer-jäsentä.
  • Kiinteä rakentaminen uclibc: n ja musl libc: n kanssa.
  • siirrettävyys:
  • Linux-ytimessä & gt; = 2.5.46 vaaditaan. Vanhemmat versiot, joilla ei ole kunnollista PTRACE_SETOPTIONS-tukea, eivät toimi.
  • On mips, linux kernel & gt; = 2.6.15 vaaditaan. Vanhemmat versiot, joilla ei ole kunnollista PTRACE_GETREGS-tukea, eivät toimi.
  • S390: ssa ja s390x: ssä tarvitaan linux kernel & gt; = 2.6.27. Vanhemmat versiot, joilla ei ole kunnollista PTRACE_GETREGSET-tukea, eivät toimi.

Uutta versiossa 4.9:

  • Muutokset käyttäytymisessä:
  • Käytön estäminen OABI-tuki ARM EABI -järjestelmissä oletusarvoisesti lisätty --enable-arm-oabi -asetuksella, jonka avulla se voidaan määritellä ajankohtana.
  • parannukset:
  • Lisätty experimental -k -vaihtoehto tulostaa pinon jälkeä jokaisen jäljitetyn syscall-toiminnon jälkeen.
  • Lisätty -w-vaihtoehto tuottaa tilastoja syscall-latenssista. (osoite Debian bug # 457497).
  • Lisätty ARC-arkkitehtuustuki.
  • Lisätty PTRACE_GETREGS API-tuki PowerPC: lle.
  • Parannettu Bionic libc- ja musl libc -tuki.
  • x86-persoonallisuusprosessien parannus x86_64- ja x32-tiedostoilla.
  • ARM-persoonallisuusprosessien parempi seuranta AArch64: ssä.
  • Parannettu 32/64-bittinen persoonallisuuden tunnistus PowerPC: ssä.
  • Lisäkäytön, ioprio_getin, ioprio_setin, kexec_loadin, keyctl: n, renameat2: n ja request_key syscallin käyttöönoton dekoodaus.
  • Vahvistettujen, pselect- ja io_submit-järjestelmäyhteyksien tukeva dekoodaus.
  • Delete_module, fanotify_init, fanotify_mark, fcntl, setdomainname, sethostname, setns ja sync_file_range syscalls tehostettu dekoodaus.
  • Signaalin bitumien tehostettu dekoodaus.
  • Tiedostojen kuvaajien parannettu dekoodaus.
  • Parannettu siginfo_t -dekoodaus.
  • Parannettu PF_NETLINK-dekoodaus.
  • Päivitetty CLOCK_ * vakiot (osoitteet Fedora bug # 1088455).
  • Lisätty uusia syscall-merkintöjä vastaamaan Linux 3.16.
  • Virheiden korjaukset:
  • Lisätty shmat ja shmdt muistin kartoitukseen liittyviin yhteydenottoihin.
  • Kiinteä erottaminen pysähtyneistä prosesseista.
  • Kiinteä fanotify_mark-dekoodaus 32-bittisissä arkkitehtuureissa.
  • Kiinteä offset-dekoodaus preadv- ja pwritev-järjestelmäkeskuksissa.
  • Kiinteä valittu dekoodaus glibc: lle _FORTIFY_SOURCE-tilassa.
  • Epoll_ctl syscallin kiinteä dekoodaus EPOLL_CTL_DEL-argumentilla.
  • Kiinteä rakentaa kun ja konflikti (osoite Fedora bug # 993384).
  • Muuta korjausta käsin sivulla. (Osoitteet Debian-bugi # 725987).

Uutta versiossa 4.8:

  • Muutokset käyttäytymisessä:
  • Kun normaali eteneminen päättyy, kun jäljityslähdettä ohjataan putkeen, strace sulkee sen nyt ja odottaa putkiprosessin lopettamista ennen poistumista.
  • parannukset:
  • Toteutettu jäljitys käyttäen PTRACE_SEIZE API: ta (jos saatavilla).
  • Toteutettiin luotettavampi PTRACE_GETREGSET-pohjainen prosessin persoonallisuuden tunnistus x86-64- ja x32-tiedostoilla (kun käytettävissä).
  • Lisätty -e jäljittää = muistin vaihtoehdon muistin kartoitukseen liittyvien syscallien jäljittämiseksi.
  • Dokumentoitu -b-vaihtoehto.
  • Sallitut poistumistilaviestit poistetaan antamalla -q-vaihtoehto kahdesti.
  • Lisätty AArch64-arkkitehtuurituki (osoite Debian-bugi # 693074 ja Fedora bug # 969858).
  • Lisätty tuki OpenRISC 1000-, Meta- ja Xtensa-arkkitehtuureille.
  • Lisätty tilegx-persoonallisuustuki Tileelle.
  • NOMMU-arkkitehtuurien parannettu tuki.
  • Lisätietojen dekoodaus, mmap, perf_event_open, ptrace ja quotactl syscalls.
  • Lisätty uusia syscall-merkintöjä yhteensopivaksi Linux 3.9: n kanssa.
  • Jäljitettiin luettelo tavallisista ictl-nimistä Linux 3.9: sta.
  • Päivitettiin virheen vakioiden luettelo.
  • Päivitetyt luettelot AF_ *, MADV_ *, MAP_ *, MSG_ *, MS_ *, PF_ *, PR_ *, PTRACE_O_ * ja TCP_ * vakioista.
  • Toteutettu UBI ioctl: n dekoodaus.
  • Poistettu tarpeeton & quot; * 32 & quot; ioctl-nimet.
  • Virheiden korjaukset:
  • Kiinteä ERESTARTNOINTR vuotaa käyttäjätilaa muinaisissa ydinissä (osoite Fedora bug # 659382).
  • Kiinteä ytimen julkaisusarjan jäsentäminen (osoitteet Debian-bugi # 702309).
  • * xattr syscallen kiinteä dekoodaus (osoitteet Fedora bug # 885233).
  • Tiedostojen kiinteä käsittely 64-bittisten inode-numeroiden kanssa 32-bittisellä strace-kielellä (osoitteita Fedora bug # 912790).
  • Kiinteät jäljityshaarukat SPARC: ssä.
  • Fadvise64, fallocate, ftruncate64, io_submit, pread, preadv, pwrite, pwritev, readahead, sigaltstack, sync_file_range, sysctl ja truncate64 syscallsin kiinteä dekoodaus.
  • Useiden syscallen kiinteät luokat useimmissa tuetuissa arkkitehtuureissa.
  • Muiden kuin kotimaisten 32-bittisten persoonallisuuden recv [m] msg syscallsin kiinteä dekoodaus.
  • Useiden 32-bittisten persoonallisuusjärjestelmien järjestelmätiedostojen kiinteä dekoodaus on x32.
  • Pitkän aikavälin syscall-argumenttien kiinteä dekoodaus ARM-, MIPS- / o32-, PowerPC-, S390x- ja Tile-arkkitehtuureissa.
  • Kiinteä semtimedop-dekoodaus S390x: llä.
  • Kiinteä sram_alloc-dekoodaus Blackfiniin.
  • Kiinteä rakentaa, kun process_vm_readv on puukko.
  • Kiinteä rakentaminen vanhempien libaio.h-versioiden kanssa

Uutta versiossa 4.7:

  • Tämä on vakaata versiota, jossa tavalliset vikakorjaukset, tuoreiden Linux-ytimien ja muiden parannuksia.

Uutta versiossa 4.6:

  • Tämä on vakaata versiota, tuoreille Linux-ytimille ja muille parannuksille, mukaan lukien uusi tapa noudattaa kloonia, haarukkaa ja vfork syscalls -ohjelmaa käyttäen Linux-ytimen selkeitä toimintoja, joilla voidaan seurata lankojen ja lapsiprosessien luomista.

Uutta versiossa 4.5.20:

  • parannukset:
  • Uusien linux-syscallien käyttöönotettu dekoodaus: inotify_init1, recvmmsg.
  • Uusien linux-järjestelmäyhteyksien perusdekoodaus: preadv, pwritev, rt_tgsigqueueinfo, perf_event_open.
  • Hiljattain lisättyjen järjestelmäyhteyksien parannettu dekoodaus muihin kuin x86-arkkitehtuureihin korvaamalla paljaan dekooderin, jossa on aikaisemmin käytössä x86 / x86-64 käytössä olevat täsmälliset parsers.
  • Toteutettu -C-vaihtoehto yhdistää säännöllinen ja -c-ulostulo. (Osoitteet Debian-bugi # 466196)
  • Tehostettu dekoodaus mbind- ja mremap-järjestelmäyhteyksistä.
  • Parannettu SOL_PACKET-liitäntäasetusten dekoodaus.
  • Uudistettu luettelo ioctl-nimistä Linuxista 2.6.33.
  • Lisätty TILE-arkkitehtuustuki.
  • Virheiden korjaukset:
  • Kiinteä rakenne Linux-ytimen otsikoilla 2.6.32-rc5 +. (Osoitteet Debian bug # 560516 ja Fedora bug # 539044)
  • Kiinteä rakentaminen mipsille.
  • Linux-järjestelmien kiinteä käsittely ilman struct statfs64: ää.
  • Kiinteä raportointisignaalimaski sigreturn-toiminnolla powerpc: stä.
  • Kiinteä potentiaali pino puskurin ylivuoto valitussa dekooderissa. (Osoitteet Fedora bug # 556678)
  • Korjattu msgsnd epäsuora ipccall-dekoodaus.
  • 64-bittisten järjestelmäyhteyksien korjattu dekoodaus. (Osoitteet Debian bug # 570603)
  • Korjattu getsockopt-dekoodaus arkkitehtuureissa, joissa sizeof (long) & gt; sizeof (int). (Osoitteet Debian bug # 494844)
  • Korjattu epoll_pwait-dekoodaus. (Osoitteet Debian bug # 513014)
  • Vääristyneiden säikeiden korjaaminen.

Vastaavia ohjelmistoja

DBGMEM
DBGMEM

3 Jun 15

PuDB
PuDB

20 Feb 15

Pyshield
Pyshield

11 May 15

ngrep
ngrep

2 Jun 15

Kommentit strace

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!