فصل gdb بعد الشوكة من العملية الفرعية - تعطيل؟
سؤال
الحصول على هذه الرسالة داخل gdb.أعلم أنه ليس خطأ أو أي شيء.لقد قمت أيضًا بترقيم الصفحات لذا فهذه ليست مشكلة.
هل هناك أي طريقة لقمع هذه الرسالة؟
المحلول
وكان من الغريب أن نرى أن هذا السؤال كان لم يتم الرد عليها ...
وأنا حصلت على GDB دليل ، وتقول انها (جزئيا - P33 من PDF "الطبعة التاسعة، لجدب نسخة 7.0.50.20091228 '):
<اقتباس فقرة> ليتم إعلامك عندما بدأت التوابع أو الخروج في ظل الاستخدام السيطرة جدب ل
set print inferior-events
:
set print inferior-events
set print inferior-events on
set print inferior-events off
والأمر set print inferior-events
يسمح لك لتمكين أو تعطيل
طباعة الرسائل عند إشعارات جدب أن أقل شأنا جديدة قد بدأت أو أن
وقد خرجت أقل شأنا أو قد تم فصل. افتراضيا، فإن هذه الرسائل
لا تتم طباعة.
show print inferior-events
إظهار ما إذا كان سيتم طباعة الرسائل عندما يكتشف جدب أن التوابع لها التي وخرجت أو تم فصل.
اقتباس فقرة>والقلق الوحيد لدي في هذا هو أنه يعني أنك لا ينبغي أن تكون رؤية الرسائل بشكل افتراضي. فقط تأكد من أن الإعدادات الافتراضية تطابق ولا تتجاوز لهم.
القسم 4.11 "تصحيح فوركس" (pp38-40) تبدو ذات الصلة لك أيضا.
نصائح أخرى
حاولت set print inferior-events off
, ، لكنه لم يعطل الرسالة.في الحقيقة، print inferior-events
تم إيقاف تشغيله بالفعل حتى قبل أن أحاول إيقاف تشغيله.
نظرت من خلال gdb
كود المصدر، ووجدت ذلك print inferior-events
يتحكم في طباعة الرسائل "[New inferior %d]"
, "[Inferior %d exited]"
, ، و "[Inferior %d detached]"
فقط.
الرسالة Detaching after fork from child process
يتم التحكم فيه بواسطة verbose
و debug lin-lwp
الخيارات، بدلا من ذلك.لكن، في أنظمة فيدورا تتم طباعة الرسالة دائمًا لأن لديهم التصحيح (أي gdb-6.6-bz235197-fork-detach-info.patch
) الذي يتحول
if (info_verbose || debug_linux_nat)
داخل
if (1 /* Fedora Bug 235197 */ || info_verbose || debug_linux_nat)
.لذلك لا يمكنك إيقاف تشغيله أبدًا، إلا إذا قمت بإزالة التصحيح من المصدر وتجميعه مرة أخرى.