كيف يمكنني تمكين القمامة الأساسية لعمليات الخفي على Montavista Linux؟
-
25-09-2019 - |
سؤال
لست متأكدًا مما إذا كان Stackoverflow هو المكان الصحيح لهذا ، ولكن نظرًا لأن هذا مخصص للتطور المضمّن ، وأحتاج إلى مقالب أساسية ، والتي تم تطويرها أيضًا ، اعتقدت أن هذا هو أفضل مكان للطلب.
أحاول تمكين القمامة الأساسية العالمية بطريقة تتناقص في كل مرة يتعطل فيها البرنامج بطريقة تنتج جوهرًا ، يتم كتابته إلى/foo/bar/core. في كل مرة يتعطل فيها البرنامج ، يكتب الملف الأساسي القديم. حاليا لقد جربت ما يلي:
إضافة هذا إلى حدود.
#<domain> <type> <item> <value>
* soft core unlimited
root soft core unlimited
# End of file
إضافة هذا إلى sysctl.conf:
# Core Files
kernel.core_pattern=/mnt/ffs/core
kernel.core_uses_pid=0
هذا لم ينجح. إذا قمت بتمهيد النظام ، فقم بذلك sysctl -p
, ulimit -c unlimited
ثم أعد تشغيل العمليات باليد (بدون البرنامج النصي init) ، أحصل على ملف أساسي في /foo /bar ، ولكن تم إلحاق PID. أي مساعدة سيكون موضع تقدير كبير.
المحلول
لقد قمت بتعيين النمط الأساسي لعدم تضمين أي معلومات تعتمد على العملية ، ومع ذلك لا تزال kernel ترغب في إلحاق PID ، لذلك انتهى بي الأمر إلى إزالة هذا الجزء من الكود من kernel ، وكل شيء يعمل بشكل جيد الآن.