شارع

strace هي أداة تشخيصية وتصحيحية وتعليمية لمساحة المستخدم في نظام لينكس . تُستخدم لمراقبة التفاعلات بين العمليات ونواة لينكس والتأثير عليها ، بما في ذلك استدعاءات النظام ، وإرسال الإشارات ، وتغييرات حالة العملية. ويُمكن تشغيل strace بفضل ميزة النواة المعروفة باسم ptrace .

توفر بعض الأنظمة الشبيهة بنظام يونكس أدوات تشخيصية أخرى مشابهة لـ strace، مثل truss.

تاريخ

كُتب برنامج strace في الأصل لنظام التشغيل SunOS بواسطة بول كراننبورغ عام 1991، وفقًا لإشعار حقوق النشر الخاص به، ونُشر في أوائل عام 1992، في المجلد الثالث من comp.sources.sun. احتوى ملف README الأولي على ما يلي: [ 5 ]

strace(1) هو برنامج لتتبع استدعاءات النظام لأنظمة Sun™، يشبه إلى حد كبير برنامج trace(1) الذي توفره Sun. يُعد strace(1) أداة مفيدة لتصحيح أخطاء البرامج التي لا يتوفر لها مصدر، وهو ما يشمل للأسف معظم برامج النظام التي توفرها Sun.

لاحقًا، قام برانكو لانكستر بنقل هذه النسخة إلى لينكس ، وأصدر نسخته في نوفمبر 1992، تلتها النسخة الثانية في عام 1993. [6] [7] قام ريتشارد سلادكي بدمج هذه النسخ المنفصلة من strace في عام 1993، ونقل البرنامج إلى SVR4 وسولاريس في عام 1994 ، [ 8 ] مما أدى إلى إصدار strace 3.0 الذي تم الإعلان عنه في comp.sources.misc في منتصف عام 1994. [ 9 ] 

بدأ ويشيرت أكرمان صيانة برنامج strace عام 1996. وخلال فترة إدارته، انتقل تطوير strace إلى نظام CVS ، وتمّ إدخال نسخ منه لأنظمة FreeBSD والعديد من البنى المعمارية على لينكس (بما في ذلك ARM وIA-64 وMIPS وPA-RISC وPowerPC وs390 وSPARC). في عام 2002، نُقلت مسؤولية صيانة strace إلى رولاند ماكغراث. ومنذ ذلك الحين، اكتسب strace دعمًا للعديد من البنى المعمارية الجديدة في لينكس (AMD64 وs390x وSuperH)، ودعمًا ثنائي البنية لبعضها، وتلقّى العديد من الإضافات والتحسينات في مُفكِّكات استدعاءات النظام على لينكس؛ وانتقل تطوير strace إلى نظام git خلال تلك الفترة. ومنذ عام 2009، يتولى ديمتري ليفين صيانة strace بشكل فعّال. وقد اكتسب برنامج strace دعمًا لبنى AArch64 و ARC و AVR32 و Blackfin و Meta و Nios II و OpenSISC 1000 و RISC-V و Tile/TileGx و Xtensa منذ ذلك الوقت.

كان آخر إصدار من strace يحتوي على بعض التعليمات البرمجية (التي يبدو أنها غير مستخدمة) [ 10 ] لأنظمة التشغيل غير لينكس هو الإصدار 4.6، الذي صدر في مارس 2011. [ 11 ] في الإصدار 4.7 من strace، الذي صدر في مايو 2012، [ 12 ] تمت إزالة جميع التعليمات البرمجية غير الخاصة بنظام لينكس؛ [ 13 ] منذ الإصدار 4.13 من strace، [ 14 ] يتبع المشروع جدول إصدارات نواة لينكس، واعتبارًا من الإصدار 5.0، [ 15 ] يتبع نظام ترقيم إصدارات لينكس أيضًا.

في عام 2012، أُضيفت إلى برنامج strace ميزة تتبع المسار وفك تشفير مسار واصف الملف. [ 16 ] وفي أغسطس 2014، صدرت النسخة 4.9 من strace، [ 17 ] [ 18 ] حيث أُضيفت ميزة طباعة تتبعات المكدس. وفي ديسمبر 2016، [ 19 ] [ 20 ] تم تطبيق ميزة حقن أخطاء استدعاءات النظام .

سجل الإصدارات

إصدار تاريخ الافراج عنه تغييرات ملحوظة
6.226 فبراير 2023 [ 21 ]تم تطبيق آلية لحل مشكلة تداخل أوامر الإدخال/الإخراج الخاصة بالطرفية/الصوت.
6.112 ديسمبر 2022 [ 22 ]تحسين فك تشفير statxأوامر syscall وأوامر ioctl الطرفية
6.029 أكتوبر 2022 [ 23 ]تحسين فك تشفير أوامر setnssyscall و PTP_*ioctl
5.1912 أغسطس 2022 [ 24 ]لم يعد يتم تفسير علامة "(محذوف)" لمسارات واصفات الملفات غير المرتبطة كجزء من مسار؛ تم تحسين فك تشفير arch_prctlاستدعاءات io_uring_registerالنظام prctl؛ تم تحسين فك تشفير siginfo_tالبنية
5.1818 يونيو 2022 [ 25 ]
5.1726 مارس 2022 [ 26 ]تمت إضافة دعم لاستدعاء نظام جديد set_mempolicy_home_nodeعلى نظام لينكس
5.1610 يناير 2022 [ 27 ]تمت إضافة دعم لطباعة حالات عدم تطابق سياق SELinux ( --secontext=mismatchخيار)؛ وتمت إضافة دعم لاستدعاء نظام جديد futex_waitvعلى نظام Linux
5.151 ديسمبر 2021 [ 28 ]
5.142 سبتمبر 2021 [ 29 ]تمت إضافة دعم لفك تشفير الاستدعاءات الجديدة memfd_secretواستدعاءات النظام.quotactl_fd
5.1318 يوليو 2021 [ 30 ]تم تطبيق دعم واجهة التطبيق الثنائية الموجهة لاستدعاءات النظام على بنية IBM POWER
5.1226 أبريل 2021 [ 31 ]mount_setattrتمت إضافة دعم لفك تشفير استدعاءات النظام الجديدة
5.1117 فبراير 2021 [ 32 ]تمت إضافة خيار لإدخال البيانات عند دخول/خروج استدعاء النظام ( ومعلمات الخيار ) ؛ تمت poke_enter=إضافة poke_exit=دعم لفك تشفير --injectاستدعاء epoll_pwait2النظام الجديد؛ تم تنفيذ فك تشفير أوامر ioctl .FS_IOC_FS[GS]ETXATTRFS_IOC{,32}_[GS]ETFLAGSGPIO_*SIOCADDMULTISIOCDELMULTISIOCGIFENCAPSIOCOUTQNSDSIOCSIFENCAPSIOCSIFHWBROADCASTUBI_IOCRPEBUBI_IOCSPEBV4L2_BUF_TYPE_META_CAPTUREV4L2_BUF_TYPE_META_OUTPUTVIDIOC_QUERY_EXT_CTRL
5.1014 ديسمبر 2020 [ 33 ]يتم دعم تتبع المكدس للبرامج غير الأصلية عند تجميعها باستخدام libdw؛ تمت إضافة دعم لفك process_madviseتشفير استدعاءات النظام
5.924 سبتمبر 2020 [ 34 ]تمت إضافة دعم لفك close_rangeتشفير استدعاءات النظام؛ تمت إضافة دعم لفك TEE_*تشفير أوامر الإدخال/الإخراج؛ تم تنفيذ فك تشفير {msg,msq,sem}infoالبنى {msg,msq,sem}id_dsالمستخدمة في أوامر استدعاءات النظام الخاصة بنظام System V IPC.
5.86 أغسطس 2020 [ 35 ]تم تغيير قائمة استدعاءات النظام التي تغطيها المجموعة %processلتشمل استدعاءات النظام المرتبطة بدورة حياة العملية: تمت إضافة killو tkillو tgkillو pidfd_send_signalو و وإزالتها؛ تمت إضافة دعم لفك تشفير استدعاءات النظام؛ تمت إضافة دعم لفك تشفير ioctl rt_sigqueueinfoarch_prctlunsharefaccessat2LOOP_CONFIGURE
5.71 يونيو 2020 [ 36 ]
5.67 أبريل 2020 [ 37 ]تمت إضافة أسماء مستعارة طويلة للخيارات، بالإضافة إلى إمكانية تحديد الخيارات بدقة أكبر عبر -e quiet/ --quietو -e decode-fds/ --decode-fdsو --absolute-timestampsو --relative-timestampsو و --syscall-timesالخيارات؛ وتم تطبيق تحسينات متنوعة على إحصائيات استدعاءات النظام.
5.56 فبراير 2020 [ 38 ]
5.428 نوفمبر 2019 [ 39 ]
5.325 سبتمبر 2019 [ 40 ]
5.212 يوليو 2019 [ 41 ]
5.122 مايو 2019 [ 42 ]
5.019 مارس 2019 [ 43 ]
4.2626 ديسمبر 2018 [ 44 ]
4.2530 أكتوبر 2018 [ 45 ]
4.2414 أغسطس 2018 [ 46 ]
4.2314 يونيو 2018 [ 47 ]
4.225 أبريل 2018 [ 48 ]
4.2113 فبراير 2018 [ 49 ]
4.2013 نوفمبر 2017 [ 50 ]
4.195 سبتمبر 2017 [ 51 ]
4.185 يوليو 2017 [ 52 ]
4.1724 مايو 2017 [ 53 ]
4.1614 فبراير 2017 [ 54 ]
4.1514 ديسمبر 2016 [ 55 ]
4.144 أكتوبر 2016 [ 56 ]
4.1326 يوليو 2016 [ 57 ]
4.1231 مايو 2016 [ 58 ]
4.1121 ديسمبر 2015 [ 59 ]
4.106 مارس 2015 [ 60 ]
4.915 أغسطس 2014 [ 61 ]
4.83 يونيو 2013 [ 62 ]
4.72 مايو 2012 [ 63 ]تمت إزالة جميع التعليمات البرمجية غير الخاصة بنظام لينكس
4.615 مارس 2011 [ 64 ]
4.5.2013 أبريل 2010تمت إضافة دعم لاستدعاءات النظام الجديدة inotify_init1( perf_event_opensyscalls ) preadvعلى نظام لينكس؛ وتمت إضافة خيار يجمع بين المخرجات العادية والملخصة؛ كما تمت إضافة دعم لبنية Tile على نظام لينكس .pwritevrecvmmsgrt_tgsigqueueinfo-C
4.5.1921 أكتوبر 2009انتقلت مسؤولية الصيانة إلى ديمتري ليفين؛ وينتهي برنامج strace الآن بنفس رمز/إشارة الخروج الخاصة بالبرنامج المُتتبَّع (إذا تم تشغيله بواسطة strace)؛ تمت إضافة دعم لنداءات النظام الجديدة على نظام Linux accept4؛ تمت إضافة دعم معمارية dup3Blackfin epoll_create1و AVR32 وCRIS على نظام Linux eventfd2inotify_init1pipe2signalfd4
4.5.1828 أغسطس 2008تمت إضافة دعم subpage_protلاستدعاءات النظام الخاصة بمعالجات POWER على نظام Linux
4.5.1721 يوليو 2008-Fتم إيقاف استخدام هذا العلم، حيث -fتوجد آثار له vforkعلى نظام لينكس منذ فترة طويلة.
4.5.163 أغسطس 2007
4.5.1516 يناير 2007تمت إضافة دعم لـ new *atو inotify*و pselect6و ppollو unshareعلى نظام لينكس
4.5.1416 يناير 2007يمكن تحديد رقم استدعاء النظام في -eالمواصفات.
4.5.133 أغسطس 2005أضف descدعم مجموعات استدعاءات النظام إلى-e trace=
4.5.128 يونيو 2005
4.5.1122 مارس 2005
4.5.1013 مارس 2005
4.5.94 فبراير 2004
4.5.819 أكتوبر 2004فك تشفير mbindو [sg]et_mempolicyو waitidو fadvise64{,_64}و epoll_*واستدعاءات النظام، و RTC_*ioctls على نظام لينكس
4.5.731 أغسطس 2004
4.5.612 يوليو 2004تمت إضافة دعم لبنية SPARC ذات 64 بت على نظام Linux.
4.5.527 يونيو 2004
4.5.43 يونيو 2004-pيتم ربطها بجميع خيوط NPTL على نظام Linux فقط عند -fتوفيرها
4.5.316 أبريل 2004تمت إضافة دعم mq_*لاستدعاءات النظام على نظام لينكس؛ -pالآن يتم ربطها بجميع سلاسل NPTL على نظام لينكس
4.5.21 مارس 2004
4.5.113 نوفمبر 2003
4.524 سبتمبر 2003تم نقل مسؤولية الصيانة إلى رولاند ماكغراث؛ تمت إضافة دعم x86-64 على نظام لينكس مع دعم تتبع عمليات التوافق؛ تمت إضافة دعم معمارية SH وSH64 على نظام لينكس؛ -Eتمت إضافة خيار
4.419 أغسطس 2001
4.3.17 أبريل 2001
4.31 أبريل 2001تمت إضافة دعم لبنيتي HP PA/RISC و IA-64 على نظام Linux؛ وتمت إضافة دعم لاستدعاءات النظام UID/GID ذات 32 بت على نظام Linux؛ وتمت إضافة دعم لنظام FreeBSD على معالجات x86
4.221 يناير 2000تمت إضافة دعم لبنية IBM Z على نظام لينكس
4.126 نوفمبر 1999تمت إضافة دعم لبنية MIPS على نظام Linux؛ strace-graphتمت إضافة البرنامج النصي
4.0.125 يوليو 1999
4.09 يوليو 1999تم إصلاح مشكلة فك التشفير 64 بت struct statعلى نظام لينكس؛ تحديثات Irix 64؛ تحديثات Solaris
3.99.19 يونيو 1999
3.9927 أبريل 1999المشرف الجديد هو ويشيرت أكرمان؛ تمت إضافة دعم لبنى IBM POWER وSPARC وARM على نظام Linux؛ تمت إضافة دعم للعديد من استدعاءات النظام على نظام Linux
3.11 يونيو 1996تمت إضافة دعم لأنظمة التشغيل Irix وm68k وDEC Alpha على نظام Linux؛ وتمت إضافة دعم -o!لصيغة الخيارات؛ وتمت إضافة دعم لفئات استدعاءات النظام ( file, process)؛ وتمت إضافة دعم لاستدعاءات نظام IPC على نظام التشغيل Sun OS
3.09 يوليو 1994 [ 65 ]الإصدار الأولي متعدد المنصات من تطوير ريتشارد سلادكي. يتضمن دعمًا لـ -x، -q، -e( trace، abbrev، verbose، ، raw، signal، readو writeالمحددات)، -c، -iالخيارات

الاستخدام والميزات

يُستخدم الأمر strace عادةً لتشغيل برنامج، حيث يعرض قائمةً بالاستدعاءات النظامية التي يُجريها البرنامج. يُفيد هذا الأمر في حال تعطل البرنامج باستمرار، أو إذا لم يعمل كما هو متوقع؛ فعلى سبيل المثال، قد يكشف استخدام strace أن البرنامج يحاول الوصول إلى ملف غير موجود أو لا يمكن قراءته.

يتمثل أحد التطبيقات البديلة في استخدام هذه -pالعلامة لربطها بعملية قيد التشغيل. وهذا مفيد إذا توقفت عملية ما عن الاستجابة، وقد يكشف، على سبيل المثال، أن العملية عالقة أثناء محاولتها إنشاء اتصال بالشبكة.

من بين الميزات الأخرى، يسمح برنامج strace بما يلي:

  • تحديد عامل تصفية لأسماء استدعاءات النظام التي يجب تتبعها (عبر -e trace=الخيار): بالاسم، مثل clone، fork، vfork ؛ باستخدام إحدى المجموعات المعرفة مسبقًا، مثل %ipc أو %file ؛ أو (منذ strace 4.17) باستخدام صيغة التعبير النمطي، مثل .-e trace=/clock_.*
  • تحديد قائمة بالمسارات المراد تتبعها ( -P /etc/ld.so.cacheعلى سبيل المثال).
  • تحديد قائمة بوصفات الملفات التي يجب تفريغ عمليات الإدخال/الإخراج الخاصة بها ( -e read=والخيارات -e write=).
  • حساب وقت تنفيذ استدعاء النظام وعدد ( -T, -c, -C, -wوالخيارات؛ -Uيتيح الخيار طباعة معلومات إضافية، مثل الحد الأدنى والحد الأقصى لوقت تنفيذ استدعاء النظام).
  • طباعة الطوابع الزمنية النسبية أو المطلقة ( -tوالخيارات -r).
  • التلاعب باستدعاءات النظام التي يتم تنفيذها ( خيار): تعديل الإرجاع ( ؛ منذ strace 4.16) ورمز الخطأ ( ؛ منذ strace 4.15) لاستدعاءات النظام المحددة، وحقن الإشارات ( ؛ منذ strace 4.16)، والتأخيرات ( و ؛ منذ strace 4.22)، وتعديل البيانات التي تشير إليها وسائط استدعاء النظام ( و ؛ منذ strace 5.11) عند تنفيذها.-e inject=syscall specification:tampering specification:retval=:error=:signal=:delay_enter=:delay_exit=:poke_enter=:poke_exit=
  • استخراج معلومات حول واصفات الملفات (بما في ذلك المقابس، -yالخيار؛ -yyيوفر الخيار بعض المعلومات الإضافية، مثل عناوين نقاط النهاية للمقابس، والمسارات، وأرقام الأجهزة الرئيسية/الثانوية للملفات).
  • طباعة تتبعات المكدس، بما في ذلك (منذ strace 4.21) فك تشفير الرموز ( -kخيار).
  • التصفية حسب حالة إرجاع استدعاء النظام ( -e status=خيار؛ منذ strace 5.2 [ ملاحظة 3 ] ).
  • قم بترجمة معرفات الخيوط والعمليات ومجموعات العمليات والجلسات التي تظهر في التتبع إلى مساحة اسم PID الخاصة بـ strace ( --pidns-translationخيار؛ منذ strace 5.9).
  • فك تشفير معلومات سياق SELinux المرتبطة بالعمليات والملفات والوصفات ( --secontextخيار؛ منذ strace 5.12).

يدعم strace فك تشفير وسائط بعض فئات أوامر ioctl ، مثل BTRFS_* و V4L2_* و DM_* و NSFS_* و MEM* و EVIO* و KVM_* والعديد من الأوامر الأخرى؛ كما يدعم فك تشفير بروتوكولات netlink المختلفة .

بما أن أداة strace لا تعرض سوى تفاصيل استدعاءات النظام، فلا يمكن استخدامها لاكتشاف العديد من المشاكل التي يمكن لمصحح الأخطاء البرمجية مثل GNU Debugger (gdb) استخدامها. ومع ذلك، فهي أسهل استخدامًا من مصحح الأخطاء البرمجية، وتُعد أداةً بالغة الأهمية لمسؤولي النظام. كما يستخدمها الباحثون لإنشاء آثار استدعاءات النظام لإعادة تشغيلها لاحقًا . [ 66 ] [ 67 ] [ 68 ]

أمثلة

فيما يلي مثال على المخرجات النموذجية للأمر strace:

user@server:~$ strace ls ... 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 (flags FD_CLOEXEC) getdents64(3, /* 18 entries */, 4096) = 496 getdents64(3, /* 0 entries */, 4096) = 0 close(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

المقطع أعلاه ليس سوى جزء صغير من مخرجات أداة strace عند تشغيلها باستخدام الأمر ' ls '. يوضح هذا المقطع فتح مجلد العمل الحالي، وفحصه، واسترجاع محتوياته. ثم تُكتب قائمة أسماء الملفات الناتجة إلى المخرج القياسي.

أدوات مماثلة

تتضمن أنظمة التشغيل المختلفة أدوات قياس أخرى مماثلة أو ذات صلة ، توفر ميزات مشابهة أو أكثر تطورًا؛ وقد تستخدم بعض هذه الأدوات (على الرغم من استخدامها نفس الاسم أو اسمًا مشابهًا) آليات عمل مختلفة تمامًا، مما ينتج عنه مجموعات ميزات أو نتائج مختلفة. وتشمل هذه الأدوات ما يلي:

انظر أيضاً

ملحوظات

  1. ومع ذلك، يتم فك تشفير رسائل خطأ النظام وفقًا للغة الحالية منذ الإصدار 4.22 من strace. [ 3 ]
  2. مجموعة الاختبارات مرخصة بموجب رخصة جنو العمومية الإصدار 2.0+ .
  3. تمت إضافة اختصارها لعرض المكالمات الناجحة فقط،-zالخيار، في الأصل في strace 4.5، ولكن لم يتم توثيقها أبدًا لأنها لم تكن تعمل بشكل صحيح.

مراجع

  1. "الإصدار 7.1" . 15 يونيو 2026. تم الاطلاع عليه في 16 يونيو 2026 .
  2. "مشروع strace مفتوح المصدر على Open Hub" . Openhub.net . تم الاطلاع عليه بتاريخ 23-11-2021 .
  3. ديمتري ف. ليفين (2018-04-01). " [ تحديث ] إضافة دعم التدويل" (قائمة بريدية) . تم الاطلاع عليه بتاريخ 2021-09-02 .
  4. ديمتري ف. ليفين (15 ديسمبر 2018). "الجزء الأول: تغيير ترخيص strace إلى ترخيص حقوق النشر المفتوحة" (قائمة بريدية) . تم الاطلاع عليه بتاريخ 2 سبتمبر 2021 .
  5. بول كرانينبورغ (2 مارس 1992). "ستراس - أداة تتبع بديلة لاستدعاءات النظام" . مجموعة الأخبار : comp.sources.sun . 
  6. برانكو لانكستر (5 نوفمبر 1992). "أول إصدار لنظام لينكس من strace" .
  7. ^ برانكو لانكستر (18 يونيو 1993). "إصدار Linux الثاني من strace" .
  8. ^ "ستراس" . manned.org. 21 يونيو 1994.
  9. "فهرس SUNET لـ /pub/usenet/ftp.uu.net/comp.sources.misc/volume43/strace" . مؤرشف من الأصل بتاريخ 11 سبتمبر 2007. تم الاطلاع عليه بتاريخ 14 يناير 2015 .
  10. دينيس فلاسينكو (7 فبراير 2012). "ماذا عن إزالة التعليمات البرمجية غير الخاصة بنظام لينكس؟" .
  11. ديمتري ف. ليفين (16 مارس 2011). "تم إصدار strace 4.6" .
  12. ديمتري ف. ليفين (2 مايو 2012). "تم إصدار strace 4.7" .
  13. ديمتري ف. ليفين (20 أبريل 2012). "تغييرات جديرة بالذكر في الإصدار 4.7" .
  14. ديمتري ف. ليفين (4 أكتوبر 2016). "تم إصدار strace 4.14" .
  15. ديمتري ف. ليفين (19 مارس 2019). "تم إصدار strace 5.0" .
  16. ديمتري ف. ليفين (1 مايو 2012). "تغييرات جديرة بالذكر في الإصدار 4.7" . جيت هاب .
  17. ديمتري ف. ليفين (15 أغسطس 2014). "تم إصدار strace 4.9" .
  18. ديمتري ف. ليفين (15 أغسطس 2014). "تغييرات جديرة بالذكر في الإصدار 4.9" . جيت هاب .
  19. ديمتري ف. ليفين (14 ديسمبر 2016). "تم إصدار strace 4.15" .
  20. ديمتري ف. ليفين (14 ديسمبر 2016). "تغييرات جديرة بالذكر في الإصدار 4.15" . جيت هاب .
  21. ديمتري ف. ليفين (2023-02-26). "تم إصدار strace 6.2" .
  22. ديمتري ف. ليفين (2022-12-12). "تم إصدار strace 6.1" .
  23. ديمتري ف. ليفين (2022-10-29). "تم إصدار strace 6.0" .
  24. ديمتري ف. ليفين (2022-08-12). "تم إصدار strace 5.19" .
  25. ديمتري ف. ليفين (2022-06-18). "تم إصدار strace 5.18" .
  26. ديمتري ف. ليفين (2022-03-27). "تم إصدار strace 5.17" .
  27. ديمتري ف. ليفين (2022-01-10). "تم إصدار strace 5.16" .
  28. ديمتري ف. ليفين (2021-12-01). "تم إصدار strace 5.15" .
  29. ديمتري ف. ليفين (2021-09-02). "تم إصدار strace 5.14" .
  30. ديمتري ف. ليفين (2021-07-18). "تم إصدار strace 5.13" .
  31. ديمتري ف. ليفين (2021-04-26). "تم إصدار strace 5.12" .
  32. ديمتري ف. ليفين (2021-02-17). "إصدار strace 5.11" .
  33. ديمتري ف. ليفين (2020-12-14). "إصدار strace 5.10" .
  34. ديمتري ف. ليفين (2020-09-24). "تم إصدار strace 5.9" .
  35. ديمتري ف. ليفين (2020-08-06). "إصدار strace 5.8" .
  36. ديمتري ف. ليفين (2020-06-01). "إصدار strace 5.7" .
  37. ديمتري ف. ليفين (2020-04-07). "إصدار strace 5.6" .
  38. ديمتري ف. ليفين (2020-02-06). "إصدار strace 5.5" .
  39. ديمتري ف. ليفين (2019-11-28). "إصدار strace 5.4" .
  40. ديمتري ف. ليفين (2019-09-25). "إصدار strace 5.3" .
  41. ديمتري ف. ليفين (2019-07-12). "إصدار strace 5.2" .
  42. ديمتري ف. ليفين (2019-05-22). "إصدار strace 5.1" .
  43. ديمتري ف. ليفين (2019-03-19). "تم إصدار strace 5.0" .
  44. ديمتري ف. ليفين (2018-12-26). "تم إصدار strace 4.26" .
  45. ديمتري ف. ليفين (2018-10-30). "تم إصدار strace 4.25" .
  46. ديمتري ف. ليفين (2018-08-14). "تم إصدار strace 4.24" .
  47. ديمتري ف. ليفين (2018-06-14). "تم إصدار strace 4.23" .
  48. ديمتري ف. ليفين (2018-04-05). "تم إصدار strace 4.22" .
  49. ديمتري ف. ليفين (2018-02-13). "تم إصدار strace 4.21" .
  50. ديمتري ف. ليفين (2017-11-13). "تم إصدار strace 4.20" .
  51. ديمتري ف. ليفين (2017-09-05). "تم إصدار strace 4.19" .
  52. ديمتري ف. ليفين (2017-07-05). "تم إصدار strace 4.18" .
  53. ديمتري ف. ليفين (2017-05-24). "تم إصدار strace 4.17" .
  54. ديمتري ف. ليفين (2017-02-14). "تم إصدار strace 4.16" .
  55. ديمتري ف. ليفين (2016-12-14). "تم إصدار strace 4.15" .
  56. ديمتري ف. ليفين (2016-10-04). "تم إصدار strace 4.14" .
  57. ديمتري ف. ليفين (2016-07-26). "تم إصدار strace 4.13" .
  58. ديمتري ف. ليفين (2016-05-31). "تم إصدار strace 4.12" .
  59. ديمتري ف. ليفين (2015-12-21). "تم إصدار strace 4.11" .
  60. ديمتري ف. ليفين (2015-03-06). "تم إصدار strace 4.10" .
  61. ديمتري ف. ليفين (2014-08-15). "تم إصدار strace 4.9" .
  62. ديمتري ف. ليفين (2013-06-03). "تم إصدار strace 4.8" .
  63. ديمتري ف. ليفين (2012-05-02). "تم إصدار strace 4.7" .
  64. ديمتري ف. ليفين (2011-03-15). "تم إصدار strace 4.6" .
  65. ريك سلادكي (994-07-09). "v43i075: strace - أداة تتبع استدعاءات النظام لأنظمة sunos و linux و svr4 و solaris2، الجزء 01/10" .
  66. هوركي، جيري (2013). "محلل أداء الإدخال/الإخراج ومشغل آثار الإدخال/الإخراج ioapps" . تم الاسترجاع في 16-09-2013 .
  67. ووترلاند، آموس (2007). "نظام إعادة التشغيل يستدعي برنامج إعادة التشغيل" . مؤرشف من الأصل بتاريخ 1 أبريل 2016. تم الاطلاع عليه بتاريخ 16 سبتمبر 2013 .
  68. بيرتون، أرييل (1998). "توصيف عبء العمل باستخدام تتبع استدعاءات النظام وإعادة تنفيذها بشكل خفيف الوزن" (ملف PDF) . تم الاطلاع عليه بتاريخ 16-09-2013 .
  69. "XTrace - تتبع اتصالات بروتوكول X" . xtrace.alioth.debian.org . مؤرشف من الأصل بتاريخ 2014-08-05 . تم الاطلاع عليه بتاريخ 2014-08-12 .
  70. "dtrace(1) صفحة دليل نظام التشغيل Mac OS X" . Developer.apple.com . تم الاطلاع عليه بتاريخ 23-07-2014 .
  71. "IntellectualHeaven - Strace For Windows" . thoughtfulheaven.com . مؤرشف من الأصل في 5 مارس 2016. تم الاطلاع عليه في 29 يناير 2015 .