strace

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
strace
software
Siglă
Tip Depanator
Dezvoltator Paul Kranenburg, Dmitry Levin
Ultima versiune 4.7 (2 mai 2012 ; acum 9 ani )
Sistem de operare Linux
FreeBSD (nu este listat )
Limba C.
Licență BSD
( licență gratuită )
Site-ul web strace.io/

strace este un utilitar de depanare pentru Linux și alte sisteme asemănătoare Unix , care examinează apelurile de sistem utilizate de un program și toate semnalele pe care le primește, similar cu utilitarul de blocare găsit pe alte sisteme Unix. Acest lucru este posibil printr-o caracteristică numită ptrace .

Cygwin oferă un utilitar similar.

Utilizare

Cea mai obișnuită utilizare este să porniți un program folosind strace, care imprimă pe ecran lista apelurilor de sistem efectuate de program. Acest lucru este util în cazul în care programul merge frecvent accident , sau nu ia comportamentul așteptat; de exemplu, utilizarea strace poate dezvălui că programul încearcă să acceseze un fișier care nu există sau care nu poate fi citit.

Alternativ, semnalizatorul -p este utilizat pentru a lega strace la un proces deja în desfășurare. Acest lucru este util dacă un proces nu mai răspunde și poate dezvălui, de exemplu, că procesul este blocat în așteptarea unei conexiuni la rețea.

Deoarece strace arată doar detalii despre apelurile de sistem, nu poate fi folosit pentru a detecta toate problemele pe care le poate dezvălui un depanator precum GNU Debugger (gdb). Cu toate acestea, este mai ușor de utilizat decât un depanator și este un instrument extrem de util pentru administratorii de sistem.

Eșantion de ieșire

Urmează un exemplu tipic de ieșire a comenzii strace:

 open (".", O_RDONLY | O_NONBLOCK | O_LARGEFILE | O_DIRECTORY | O_CLOEXEC) = 3
fstat64 (3, {st_mode = S_IFDIR | 0755, st_size = 4096, ...}) = 0
fcntl64 (3, F_GETFD) = 0x1 (semnalizează FD_CLOEXEC)
getdents64 (3, / * 18 intrări * /, 4096) = 496
getdents64 (3, / * 0 intrări * /, 4096) = 0
închidere (3) = 0
fstat64 (1, {st_mode = S_IFIFO | 0600, st_size = 0, ...}) = 0
mmap2 (NULL, 4096, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0) = 0xb7f2c000
write (1, "autofs \ nbackups \ ncache \ nflexlm \ ngames" ..., 86autofsA

Fragmentul de mai sus este doar o mică parte din ieșirea strace când se execută cu comanda ls . Arată că directorul de lucru este deschis și conținutul acestuia este citit. Lista de fișiere rezultată este scrisă la ieșirea standard .

Alte instrumente

Diferite sisteme de operare oferă alte instrumente similare și uneori mai puternice, de exemplu:

Notă

  1. ^ (RO) dtruss (1m) Pagina manuală OS X pe developer.apple.com, 17 iunie 2005. Accesat pe 29 martie 2013.
  2. ^ (EN) StraceNT - Un sistem de urmărire a apelurilor pentru Windows pe intellectualheaven.com. Adus pe 29 martie 2013 (arhivat din original la 11 mai 2013) .

Elemente conexe

linkuri externe