strace

Software screenshot:
strace
Software ətraflı:
Version: 4.19 Yenil?nib
Tarixi Upload: 23 Nov 17
Lisenziya: Pulsuz
Məşhurluq: 23

Rating: 5.0/5 (Total Votes: 1)

strace , geliştiriciler ve sistem yöneticileri üçün tasarlanmış, C'de uygulanan ve yalnız GNU / Linux işletim sistemi altında çalıştırılmak üzere tasarlanmış bir sistem çağrı izleyicisi təmin edən, açıq kaynak və pulsuz olaraq yayılmış proqramdır.

Proqram bir proqram və ya proses tərəfindən yaradılan bütün sistem çağırışlarını toplaya biləcək və bir iz buraxmaq üçün çox faydalı bir hata ayıklama, təlimat və tanılama proqramıdır. Yalnız bir konsol mühitindən və ya terminal emulator tətbiqindən istifadə edilə bilən bir komanda proqramı.

Təchizatçılar diaqnostikatorlar, problem gidericilər və həmçinin qapalı mənbə proqramları ilə problemlərin həlli üçün qiymətsiz bir həll istəyən sistem administratorları tərəfindən istifadə edilə bilər. Bu, Dmitri V. Levin, Roland McGrath və Wichert Akkerman tərəfindən yazılmışdır.


Komanda variantları

Hər hansı digər komanda proqramı kimi, strace də istifadəçilərə öz vəzifələrini yerinə yetirmək üçün bütün funksionallıqlarını və funksiyalarını asanlıqla istifadə etməyə imkan verən geniş çeşidli komanda variantları təklif edir. Bütün komanda-line variantlarını "birləşdirərək" nəzərdən keçirmək olar - strace --help & rsquo; komanda.

Ən maraqlı komanda variantları arasında, hər syscall üçün hesablama dəfə, çağırış və səhvlərin dəstəklənməsi, syscall gecikməsinin ümumiləşdirilməsi üçün dəstək, müəyyən bir yola girişlərin izlənilməsi üçün dəstək, stderr-da debug çıxmasını təmin etmək üçün dəstək,


Strace ilə başlayın
Stres yalnız bir qaynaq tarballu kimi paylanır, ancaq Linuxun əsas proqram təminatlarından çox sayda bölüşdürülməsinə asanlıqla quraşdırıla bilər. Kaynaklardan qurmaq üçün Softoware-dən ən son versiyasını yükləyin, arxivi seçdiyiniz yerə qoşun və açın.

Bir Terminal app açın, çıxarılmış arxiv fayllarının (məsələn cd /home/softoware/strace-4.9) yerləşdiyi yerə gedin, ./configure && make & rsquo; stroksiyanı konfiqurasiya etmək və tərtib etmək əmrini yerinə yetirmək və sonra "& rsquo; kök kimi əmr və ya 'sudo install & rsquo;

Bu sürümde yeni nə :

  • İyileştirmeler:
  • Socket descriptors ilə əlaqəli protokol və ünvan məlumatlarını çap etmək üçün əlavə variant.
  • Genişləndirilmiş & quot; oxu = set & quot; və "-e write = set"; sendmsg, recvmsg, sendmmsg və recvmmsg syscalls əhatə variantları.
  • Ioctl əmrlərinin tam 32-bit şifrələməsi (Debian səhvləri # 692913 və Fedora səhvləri # 902788 ünvanları).
  • ia64 üzərində həyata keçirilən PTRACE_GETREGS API dəstəyi.
  • MIPS üzrə tətbiq olunan PTRACE_GETREGS API dəstəyi.
  • S390 / s390x üzərinə tətbiq olunan PTRACE_GETREGSET API dəstəyi.
  • Getrandom və seccomp syscalls kodlarının tətbiq olunduğu.
  • 64 bitlik qabiliyyət dəstlərinin tam şəkildə kodlaşdırılması.
  • Bütün prctl əmrlərini kodlaşdırma.
  • Parametrli ioctl əmrlərini kodlaşdırma.
  • Evdev ioctl əmrlərini kodlaşdırma.
  • V4l ioctl əmrlərini kodlaşdırma.
  • SG_IO v4 ioctl əmrlərini kodlaşdırma.
  • FIFREEZE / FITHAW / FITRIM ioctl əmrlərini kodlaşdırır.
  • FALLOC_FL_ * fallocate bayraqlarının kodlaşdırma tətbiq olundu.
  • Aarx64, x32 və x86_64 üzrə rt_sigreturn siqnal maskasının kodlaşdırma tətbiq olundu.
  • Bluetooth yuvalarını dəstəkləmək üçün genişləndirilmiş socket decoder.
  • Listelenmemiş ioctl əmrlərini genişləndirilmiş kodlaşdırma.
  • getockopt və setsockopt syscall kodunun genişləndirilməsi.
  • Sysinfo syscall kodunun yaxşılaşdırılması.
  • Yapılandırılmış cmsghdr kodunun yaxşılaşdırılması.
  • Gözləmə statusunun genişləndirilməsi.
  • Xarici libaio.h istifadə edərək qeyri-x86 mimarilerinde aio dəstəyi artır.
  • tanınmış açıq rejimi bayraqlarının siyahısına O_TMPFILE əlavə edildi.
  • statfs ailə syscalls kodlaşdırma istifadə fayl sistemi növü sabitləri siyahısını yeniləndi.
  • CAP_ *, PR_ *, PTRACE_ *, SCHED_ *, SO_ *, SOL_ *, SWAP_FLAG_ * və TFD_ * sabitləri siyahıları yeniləndi.
  • Linux 3.19-dan gələn siqnal sabitlərinin siyahıları yeniləndi.
  • Linux 3.19'dan errno sabitlərinin siyahısının yeniləndi.
  • Linux 3.9-dan ioctl əmrlərini yeniləndi.
  • Linux 3.19 uyğunluğu üçün yeni syscall girişləri əlavə edildi.
  • Hata düzeltmelerini:
  • Syscall nömrələri və syscall arqumentlərinin sayı, syscall adı və syscall decoder kimi əlaqəli məlumatlar arasında fərqlənən müxtəlif səhvlər.
  • BLK * ioctl komutlarının yazı tipləri, filenames, şəbəkə interfeys adları, struct utsname üzvləri, cihaz / həcm adları ilə bağlı istinadlar mövcuddur.
  • Sabit uid_t / git_t kodlaşdırma.
  • Sabit potensial xaricində getdents / getdents64 kod çözücüsü ilə bağlı məsələləri oxumaq.
  • Bəzi memarlardakı sabit potensial açıq bayraqların kəsilməsi.
  • struct ifreq.ifr_name. Sabit dekoding.
  • SIOCSIFNAME ioctl komutunun Sabit dekodlanması.
  • RENAME_ * renameat2 bayrağının Sabit dekodlanması.
  • UTIME_NOW / UTIME_OMIT timeval strukturlarının Sabit dekodlanması.
  • Bəzi memarlıqlarda dolayı ipc subcallsın sabit kodlaşdırılması.
  • 32-bitlik arxitekturalarda fanotify_mark syscall-in sabit kodlaşdırılması.
  • 64 bitlik arxitekturalarda 32 bit stat strukturlarının sabit kodlaşdırılması.
  • 64 bitli arxitekturalarda 32-bit struktur cmsghdr-ni sabitləşdirmək.
  • 64 bitli arxitekturalarda 32-bit preadv / pwritev offsetinin sabit kodlaşdırılması.
  • ia64, ppc, ppc64, sparc, sparc64, mips və s390-da sigreturn / rt_sigreturn siqnal maskasının sabit halları.
  • Bir neçə şəxsiyyətini dəstəkləyən memarlıqda sabit təlimat pointer çıxış (-i variant).
  • Sabit davranış "-e read = set" & quot; və "-e write = set"; oxuduğunda və yazmağı kəsdikdə.
  • Yapılandırılmanın sa_restorer üzvü olmadığı sistemlərdə sabit quruluş.
  • Sabit uclibc və musl libc ilə qurulur.
  • Taşınabilirlik:
  • Linux çekirdeği => 2.5.46 tələb olunur. Yaxşı bir PTRACE_SETOPTIONS dəstəyi olmadan köhnə versiyalar işləməyəcək.
  • Çatlarda, linux kernel> = 2.6.15 tələb olunur. Yaxşı bir PTRACE_GETREGS dəstəyi olmadan köhnə versiyalar işləməyəcək.
  • s390 və s390x-də linux kernel = 2.6.27 tələb olunur. Yaxşı bir PTRACE_GETREGSET dəstəyi olmadan köhnə versiyalar işləməyəcək.

Sürüm 4.9'da nə yeni :

  • Davamdakı dəyişikliklər:
  • Əlil OABI dəstəyi ARM EABI sistemlərində default olaraq əlavə edilir - əlverişli-arm-oabi parametrini konfiqurasiya zamanı təmin etmək üçün.
  • Təkmilləşdirmə:
  • Her bir izlenen syscall sonra yığın izini yazdırmaq üçün experimental -k seçimi əlavə edilib.
  • Syscall gecikməsində stats hazırlamaq üçün əlavə variant. (Debian səhv ünvanları # 457497).
  • ARC arxitekturası dəstəyi əlavə edildi.
  • PowerPC-də PTRACE_GETREGS API dəstəyi əlavə edilib.
  • Enhanced Bionic libc və musl libc dəstəyi.
  • X86 şəxsiyyət proseslərinin x86_64 və x32 üzərindəki genişləndirilməsi.
  • AArch64-də ARM şəxsiyyət prosesinin genişləndirilməsi.
  • PowerPC-də 32 / 64bit şəxsiyyəti aşkarlanıb.
  • add_key, ioprio_get, ioprio_set, kexec_load, keyctl, renameat2 və request_key syscalls kodlarının tətbiqi.
  • Seçilmiş, pelect və io_submit syscalls kodlarının təhlükəsizləşdirilməsi.
  • delete_module, fanotify_init, fanotify_mark, fcntl, setdomainname, sethostname, setns və sync_file_range syscalls kodlarının genişləndirilməsi.
  • Siqnal bitmiklərinin genişləndirilməsi.
  • Fayl descriptorlarının genişləndirilmiş kodlaşdırılması.
  • Ətraflı siginfo_t kodlaşdırma.
  • Enhanced PF_NETLINK kod çözme.
  • CLOCK_ * dayandırıldı (ünvanları Fedora səhv # 1088455).
  • Linux 3.16 eşleme üçün yeni syscall girişləri əlavə edildi.
  • Hata düzeltmelerini:
  • Əlavə şmat və yaddaş eşleme ilə əlaqəli syscalls dəstini əlavə edin.
  • Durdurulmuş proseslərdən sökülmə.
  • 32bitlik arxitekturalarda sabit fanotify_mark şifrəsi.
  • Preadv və pwritev syscalls-da offset decoding.
  • _FORTIFY_SOURCE rejimində glibc üçün sabit seçmə kodlaşdırma.
  • EPOLL_CTL_DEL arqumenti ilə epoll_ctl syscall-ın Sabit dekodlanması.
  • Səhv qurma və münaqişə (Fedora səhvləri # 993384 ünvanları).
  • Əl ilə səhifədə müxtəlif düzəlişlər. (Debian səhv ünvanları # 725987).

Sürüm 4.8'de yeni nə :

  • Davamdakı dəyişikliklər:
  • İzləmə çıxışı bir boruya yönəldildikdə normal dayanıqlı xitam halında, strace indi bağlanır və çıxışdan əvvəl boru prosesinin bitməsini gözləyir.
  • Təkmilləşdirmə:
  • PTRACE_SEIZE API (mümkün olduqda) istifadə edərək izlənilmişdir.
  • x86-64 və x32 (mövcud olduqda) üzərində daha etibarlı PTRACE_GETREGSET əsaslı proses şəxsiyyətini aşkarladı.
  • Xəritəçəkmə ilə əlaqəli syscalls axtarışını izləmək üçün əlavə trace = yaddaş seçimi.
  • Documented -b variant.
  • İki dəfə "-q" seçimini verərək çıxış vəziyyəti mesajlarına icazə verilsin.
  • AArch64 arxitekturası dəstəyi əlavə edildi (Debian səhvləri # 693074 və Fedora səhv # 969858 ünvanları).
  • OpenRISC 1000, Meta və Xtensa arxitekturaları üçün əlavə dəstək.
  • Döşəmə üçün əlavə taxta şəxsiyyət dəstəyi əlavə edilib.
  • NOMMU arxitekturalarının genişləndirilmiş dəstəyi.
  • Getdent, mmap, perf_event_open, ptrace və quotactl syscalls kodlarının genişləndirilməsi.
  • Linux 3.9 uyğunluğu üçün yeni syscall girişləri əlavə edildi.
  • Linux 3,9-dan ümumi ioctl adlarının siyahısını yeniləndi.
  • Errno sabitlərinin siyahısı yeniləndi.
  • AF_ *, MADV_ *, MAP_ *, MSG_ *, MS_ *, PF_ *, PR_ *, PTRACE_O_ * və TCP_ * sabitləri siyahıları yeniləndi.
  • UBI ioctls kodunun icrası.
  • Artıq silinmiş "* 32" ioctl adları.
  • Hata düzeltmelerini:
  • Sabit ERESTARTNOINTR, qədim yadellilərdə istifadəçilər üçün sızan (Fedora səhvləri # 659382 ünvanları).
  • Sabit çekirdek serbest bırakma simgesini çözümleme (Debian hata # 702309 ünvanları).
  • * xattr syscalls (ünvan Fedora səhv # 885233) Sabit decoding.
  • 32-bit strace (ünvan Fedora səhv # 912790) 64-bit inode nömrələri ilə faylları Sabit handling.
  • SPARC-də sabit axtarış çəngəlləri.
  • fadvise64, fallocate, ftruncate64, io_submit, pread, preadv, pwrite, pwritev, readahead, sigaltstack, sync_file_range, sysctl və truncate64 syscalls fayllarının Sabit dekodlanması.
  • Çoxlu syscalls kateqoriyalarının dəstəklənən arxitekturaların çoxunda sabit kateqoriyalar.
  • Qeyri-doğma 32-bit şəxsiyyət recv [m] msg syscalls qətnaməsi.
  • X32-də birdən çox 32-bit şəxsiyyət syscalls'ının Sabit dekodlanması.
  • ARM, MIPS / o32, PowerPC, S390x və Çini arxitekturalarında uzun müddətli syscall arqumentlərinin sabit halları.
  • S390x-də Sabit semtimedop kodlaşdırma.
  • Blackfin haqqında sram_alloc kodunun sabitləşdirilməsi.
  • Process_vm_readv bir stab olduğunda Sabit qur.
  • Sabit libaio.h köhnə versiyaları ilə qurmaq.

  • Bu, adi bugfixes, yeni Linux nüvələrinə və digər inkişaf etmiş dəstəyi ilə sabit bir sürümdür. təkmilləşdirilməsi.

  • versiyası 4.6'da :

    • Bu sabit bir sürümdür; her zamanki bugfixes,
    • Linux kernelinin, mövzuları və uşaq proseslərinin yaradılmasını izləmək üçün istifadə etdiyi açıq imkanlardan istifadə edərək, yeni bir Linux kernelinin və digər inkişafların, o cümlədən aşağıdakı klonu, fork və vfork syscalls metodunu ehtiva edir.

    Sürüm 4.5.20 versiyasında yeni :

    • İyileştirmeler:
    • Yeni linux syscalls kodlarının tətbiqi: inotify_init1, recvmmsg.
    • Yeni linux syscallsın əsas şifrəsini tətbiq: preadv, pwritev, rt_tgsigqueueinfo, perf_event_open.
    • x86 / x86-64 üçün əvvəlcədən işlənmiş parserlər ilə çılpaq bir dekoderin əvəz edilməsi ilə x86 olmayan xətt arxitekturalarında yaxınlarda əlavə edilmiş syscalls kodlarının şifrələməsi.
    • Müntəzəm və -c çıxışını birləşdirmək üçün tətbiq edilən -C seçimi. (Debian səhv ünvanları # 466196)
    • Mbind və mremap syscalls kodlarının genişləndirilməsi.
    • Enhanced SOL_PACKET yuva seçimini kodlaşdırma.
    • Linux 2.6.33-dən ioctl adlarının yenilənmiş siyahısı.
    • TILE arxitekturası dəstəyi əlavə edildi.
    • Hata düzeltmelerini:
    • Linux çekirdek başlığı 2.6.32-rc5 + ilə sabit qurmaq. (Debian səhv ünvanları # 560516 və Fedora səhv # 539044 ünvanları)
    • Sabit mısır üzərində qurulur.
    • Yapısal statfs64 olmadan Linux sistemlərinin saxlanılması.
    • powerpc üzərindəki gizli hesabat siqnalı maskası.
    • Seçilən dekoderdə sabit potensial yığma tampon daşması. (Fedora səhv ünvanları # 556678)
    • Doğrudan msgsnd indirekt ipçkolun kodunu düzəldir.
    • 64bit syscalls kodunun düzəldilməsi. (Debian səhv ünvanları # 570603)
    • Mükəmməllik (uzun) & nbsp; sizeof (int). (Debian səhv ünvanları # 494844)
    • epoll_pwait'in düzəldilməsini kodlaşdırma. (Debian səhv ünvanları # 513014)
    • Ölmüş yarpaqlar düzəldilmişdir.

Oxşar proqram

Visual xsltproc
Visual xsltproc

2 Jun 15

debug
debug

11 May 15

xtrace
xtrace

11 May 15

GDB
GDB

16 Aug 18

Şərh strace

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!