
ProcDump-for-Linux v3.5.3
نسخة لينكس من أداة ProcDump Sysinternals
ProcDump 
ProcDump هي إعادة تصور لأداة ProcDump الكلاسيكية من مجموعة أدوات Sysinternals لأنظمة Windows. توفر ProcDump طريقة مناسبة لمطوري Linux و Mac لإنشاء تفريغ أساسي (core dumps) لتطبيقاتهم بناءً على محفزات الأداء. ProcDump for Linux and Mac هي جزء من Sysinternals.

التثبيت والاستخدام
المتطلبات
- الحد الأدنى لنظام Linux:
- Red Hat Enterprise Linux / CentOS 7
- Fedora 29
- Ubuntu 16.04 LTS
gdb>= 7.6.1
- الحد الأدنى لنظام Mac OS: Sierra
تثبيت ProcDump
يرجى الاطلاع على تعليمات التثبيت هنا.
البناء
يرجى الاطلاع على تعليمات البناء هنا.
الاستخدام
تغيير جذري مع إصدار ProcDump 1.3 تم الآن محاذاة المفاتيح مع إصدار Windows من ProcDump. يرجى ملاحظة أن إصدار Mac يحتوي حالياً على مجموعة محدودة من المحفزات.
Capture Usage:
procdump [-n Count]
[-s Seconds]
[-c|-cl CPU_Usage]
[-m|-ml Commit_Usage1[,Commit_Usage2...]]
[-gcm [<GCGeneration>: | LOH: | POH:]Memory_Usage1[,Memory_Usage2...]]
[-gcgen Generation]
[-restrack [nodump]]
[-sr Sample_Rate]
[-tc Thread_Threshold]
[-fc FileDescriptor_Threshold]
[-sig Signal_Number1[,Signal_Number2...]]
[-e]
[-f Include_Filter,...]
[-fx Exclude_Filter]
[-mc Custom_Dump_Mask]
[-pf Polling_Frequency]
[-o]
[-log syslog|stdout]
{
{{[-w] Process_Name | [-pgid] PID} [Dump_File | Dump_Folder]}
}
Options:
-n عدد مرات التفريغ التي سيتم كتابتها قبل الخروج.
-s الثواني المتتالية قبل كتابة التفريغ (الافتراضي هو 10).
-c عتبة CPU التي يتم تجاوزها لإنشاء تفريغ للعملية.
-cl عتبة CPU التي يتم النزول تحتها لإنشاء تفريغ للعملية.
-m عتبة (عتبات) استهلاك الذاكرة (MB) التي يتم تجاوزها لإنشاء تفريغ.
-ml عتبة (عتبات) استهلاك الذاكرة (MB) التي يتم النزول تحتها لإنشاء تفريغ.
-gcm [.NET] عتبة (عتبات) ذاكرة GC (MB) التي يتم تجاوزها لإنشاء تفريغ للجيل أو الكومة المحددة (الافتراضي هو إجمالي استخدام ذاكرة .NET).
-gcgen [.NET] إنشاء تفريغ عند بدء وانتهاء جمع القمامة للجيل المحدد.
-restrack تفعيل تتبع تسرب الذاكرة (عائلة دوال malloc). إذا استُخدم بدون محفزات أخرى، استخدم 't' لأخذ تقرير restrack يدوياً. عند استخدامه مع محفزات أخرى، يمكن استخدام الخيار 'nodump' لمنع توليد التفريغ وإنتاج تقارير restrack فقط.
-sr معدل العينة عند استخدام -restrack.
-tc عتبة عدد الخيوط التي يتم تجاوزها لإنشاء تفريغ للعملية.
-fc عتبة عدد واصفات الملفات التي يتم تجاوزها لإنشاء تفريغ للعملية.
-sig قائمة مفصولة بفواصل بأرقام الإشارات التي ينتج عنها تفريغ للعملية عند حدوث أي إشارة.
-e [.NET] إنشاء تفريغ عند مواجهة العملية لاستثناء.
-f تصفية (تضمين) على محتوى استثناءات .NET (مفصولة بفواصل). يتم دعم أحرف البدل (*).
-fx تصفية (استبعاد) على محتوى مكدسات الاستدعاء لـ -restrack. يتم دعم أحرف البدل (*).
-mc قناع تفريغ أساسي مخصص (بالنظام الست عشري) يشير إلى الذاكرة التي يجب تضمينها في التفريغ الأساسي. رجاءً راجع 'man core' (/proc/[pid]/coredump_filter) للاطلاع على الخيارات المتاحة.
-pf تردد الاقتراع.
-o الكتابة فوق ملف التفريغ الموجود.
-log كتابة تتبع موسع لـ ProcDump إلى تيار الإخراج المحدد (syslog أو stdout).
-w انتظار إطلاق العملية المحددة إذا لم تكن قيد التشغيل.
-pgid معرف العملية المحدد يشير إلى معرف مجموعة عمليات.
تتبع الموارد
يقوم المفتاح -restrack بتفعيل تتبع الموارد، مما يسمح بمراقبة والإبلاغ عن أي تخصيصات للموارد لم يتم تحريرها في وقت توليد التفريغ الأساسي. تُحفظ النتائج في ملف بامتداد '.restrack'. حالياً، يتم تتبع وظائف تخصيص/إلغاء تخصيص الموارد التالية:
التخصيص:
- malloc
- calloc
- realloc
- reallocarray
- mmap
إلغاء التخصيص:
- free
- munmap
لا يقوم إصدار Mac حالياً بتنفيذ تتبع الموارد.
أمثلة
جميع الأمثلة التالية تستهدف عملية برقم تعريف (pid) == 1234