Scroll to navigation

جي دي بي(1) أدوات تطوير جنو جي دي بي(1)

الاسم

gdb - منقّح جنو

موجز

gdb [OPTIONS] [prog|prog procID|prog core]

الوصف

الغرض من منقح مثل GDB هو السماح لك برؤية ما يحدث "داخل" برنامج آخر أثناء تنفيذه -- أو ما كان يفعله برنامج آخر في لحظة انهياره.

يمكن لـ GDB القيام بأربعة أنواع رئيسة من الأشياء (بالإضافة إلى أشياء أخرى لدعم هذه الأنواع) لمساعدتك في اصطياد العثرات أثناء حدوثها:

  • بدء برنامجك، مع تحديد أي شيء قد يؤثر على سلوكه.
  • جعل برنامجك يتوقف عند شروط محددة.
  • فحص ما حدث عندما يتوقف برنامجك.
  • تغيير أشياء في برنامجك، لتتمكن من تجربة تصحيح آثار علة ما والمضي قدمًا للتعرف على أخرى.

يمكنك استخدام GDB لتنقيح البرامج المكتوبة بلغات C و C++ و Fortran و Modula-2.

يُستدعى GDB عبر أمر الصدفة "gdb". وبمجرد تشغيله، يقرأ الأوامر من الطرفية حتى تطلب منه الخروج باستخدام أمر GDB المسمى "quit" أو "exit". يمكنك الحصول على مساعدة مباشرة من GDB نفسه باستخدام الأمر "help".

يمكنك تشغيل "gdb" دون أي معطيات أو خيارات؛ ولكن الطريقة الأكثر شيوعاً لبدء GDB هي بمعطى واحد أو اثنين، مع تحديد برنامج قابل للتنفيذ كمعطى:

        gdb program

يمكنك أيضًا البدء بتحديد كل من البرنامج القابل للتنفيذ وملف اللب:

        gdb program core

يمكنك، بدلاً من ذلك، تحديد معرف عملية (PID) كمعطى ثانٍ أو استخدام الخيار "-p"، إذا كنت تريد تنقيح عملية قيد التشغيل:

        gdb program 1234
        gdb -p 1234

سيقوم بربط GDB بالعملية رقم 1234. مع الخيار -p يمكنك حذف اسم ملف program.

إليك بعض أوامر GDB الأكثر احتياجاً بشكل متكرر:

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

للحصول على تفاصيل كاملة حول GDB، راجع دليل Using GDB: A Guide to the GNU Source-Level Debugger، بقلم ريتشارد م. ستولمان ورولاند هـ. بيش. يتوفر النص نفسه عبر الإنترنت كمدخلة "gdb" في برنامج "info".

الخيارات

أي معطيات بخلاف الخيارات تحدد ملفاً قابلاً للتنفيذ وملف لُب (أو معرف عملية)؛ أي أن المعطى الأول الذي يتم مواجهته دون علامة خيار مرتبطة به يعادل الخيار --se، والثاني، إن وجد، يعادل الخيار -c إذا كان اسم ملف. تمتلك العديد من الخيارات صيغاً طويلة ومختصرة؛ وكلاهما معروض هنا. يتم التعرف على الصيغ الطويلة أيضاً إذا قمت باختصارها، طالما أن جزءاً كافياً من الخيار موجود ليكون غير غامض.

تظهر الصيغ المختصرة هنا مع - والصيغ الطويلة مع -- لتعكس كيفية ظهورها في --help. ومع ذلك، يتعرف GDB على جميع الاصطلاحات التالية لمعظم الخيارات:

"--option=value"
"--option value"
"-option=value"
"-option value"
"--o=value"
"--o value"
"-o=value"
"-o value"

تُعالج جميع الخيارات ومعطيات سطر الأوامر التي تقدمها بترتيب تسلسلي. يحدث الترتيب فرقًا عند استخدام الخيار -x.

سرد جميع الخيارات، مع تفسيرات موجزة.
قراءة جدول الرموز من الملف.
فعل الكتابة في الملفات التنفيذية وملفات اللب (core).
استخدم file كملف تنفيذي للتنفيذ عند الاقتضاء، وفحص البيانات المحضة بالاشتراك مع تفريغ اللب (core dump).
اقرأ جدول الرموز من file واستخدمه كملف تنفيذي.
استخدم file كتفريغ لب (core dump) لفحصه.
نفذ أوامر GDB من file.
نفذ أمر GDB المعطى command.
نفذ أمر GDB المسمى command قبل تحميل البرنامج المراد تنقيحه.
أضف directory إلى المسار للبحث عن ملفات المصدر.
لا تنفذ الأوامر من ~/.config/gdb/gdbinit، أو ~/.gdbinit، أو ~/.config/gdb/gdbearlyinit، أو ~/.gdbearlyinit
لا تنفذ الأوامر من أي ملفات تهيئة .gdbinit أو .gdbearlyinit.
"Quiet". لا تطبع الرسائل التمهيدية وحقوق النشر. تُكتم هذه الرسائل أيضاً في وضع الدفعة (batch mode).
شغل في وضع الدفعة. اخرج بحالة 0 بعد معالجة جميع ملفات الأوامر المحددة بـ -x.gdbinit، ما لم يُثبط). اخرج بحالة غير صفرية في حال حدوث خطأ أثناء تنفيذ أوامر GDB في ملفات الأوامر.

قد يكون وضع الدفعة مفيداً لتشغيل GDB كمرشح، على سبيل المثال لتنزيل وتشغيل برنامج على حاسوب آخر؛ ولجعل هذا أكثر فائدة، فإن الرسالة

        خرج البرنامج بشكل طبيعي.
    

(التي تصدر عادةً عندما ينتهي برنامج يعمل تحت تحكم GDB) لا تصدر عند التشغيل في وضع الدفعة.

شغل في وضع الدفعة، تماماً مثل --batch، ولكن بصمت تام. يتم كتم جميع مخرجات GDB (لا يتأثر stderr). هذا أكثر هدوءاً بكثير من --silent وسيكون عديم الفائدة لجلسة تفاعلية.

هذا مفيد بشكل خاص عند استخدام أهداف تعطي رسائل Loading section، على سبيل المثال.

لاحظ أن الأهداف التي تعطي مخرجاتها عبر GDB، على عكس الكتابة مباشرة إلى "stdout"، ستصبح صامتة أيضاً.

غير تفسير سطر الأوامر بحيث تُمرر المعاملات التي تلي هذا الخيار كعوامل للتابع (inferior). كمثال، خذ الأمر التالي:

        gdb ./a.out -q
    

سيبدأ GDB مع -q، دون طباعة الرسالة التمهيدية. من ناحية أخرى، استخدام:

        gdb --args ./a.out -q
    

يبدأ GDB مع الرسالة التمهيدية، ويمرر الخيار إلى البرنامج المراد تنقيحه.

اربط GDB ببرنامج قيد التشغيل بالفعل، مع معرف العملية pid.
افتح واجهة مستخدم الطرفية.
اقرأ كافة الرموز من ملف الرموز (symfile) المعطى عند أول وصول.
لا تقرأ ملفات الرموز.
سيكون رمز خروج GDB هو نفسه رمز خروج العملية الابنة.
اطبع تفاصيل حول ضبط GDB ثم اخرج.
اطبع معلومات الإصدار ثم اخرج.
شغل GDB باستخدام directory كدليل عمل له، بدلاً من الدليل الحالي.
شغل GDB باستخدام directory كدليل بيانات له. دليل البيانات هو المكان الذي يبحث فيه GDB عن ملفاته المساعدة.
يضبط إيماكس (Emacs) هذا الخيار عندما يشغل GDB كعملية فرعية. حيث يخبر GDB بإخراج اسم الملف الكامل ورقم السطر بطريقة قياسية ومميزة في كل مرة يُعرض فيها إطار مكدس (ما يتضمن كل مرة يتوقف فيها البرنامج). يبدو هذا التنسيق المميز كحرفي \032، يليهما اسم الملف ورقم السطر وموضع المحرف مفصولاً بينها بنقطتين رأسيتين، وسطر جديد. يستخدم برنامج واجهة إيماكس-إلى-GDB حرفي \032 كإشارة لعرض الكود المصدري للإطار.
اضبط سرعة الخط (معدل البود أو بت في الثانية) لأي واجهة تسلسلية يستخدمها GDB لعملية التنقيح عن بعد.
اضبط المهلة، بالثواني، لعملية التنقيح عن بعد.
شغل باستخدام device لمدخلات ومخرجات برنامجك القياسية.

البيئة

انظر أيضًا

يُحتفظ بالوثائق الكاملة لـ GDB كدليل تكس-إنفو (Texinfo). إذا كانت برامج "info" و "gdb" ووثائق تكس-إنفو لـ GDB مثبتة بشكل صحيح في موقعك، فإن الأمر

        info gdb

سيتيح لك الوصول إلى الدليل الكامل.

Using GDB: A Guide to the GNU Source-Level Debugger، ريتشارد م. ستولمان ورولاند هـ. بيش، يوليو 1991.

حقوق النسخ

حقوق النشر (c) 1988-2024 مؤسسة البرمجيات الحرة، المحدودة.

مُنح الإذن لنسخ و/أو توزيع و/أو تعديل هذه المستند بموجب شروط رخصة جنو للوثائق الحرة، الإصدار 1.3 أو أي إصدار لاحق تنشره مؤسسة البرمجيات الحرة؛ مع بقاء الأقسام الثابتة وهي "Free Software" و "Free Software Needs Free Documentation"، ومع نصوص الغلاف الأمامي كونها "A GNU Manual،" ومع نصوص الغلاف الخلفي كما في (أ) أدناه.

(أ) نص الغلاف الخلفي لمؤسسة البرمجيات الحرة هو: "أنت حر في نسخ وتعديل دليل جنو هذا. إن شراء نسخ من دار نشر جنو يدعم مؤسسة البرمجيات الحرة في تطوير جنو وتعزيز حرية البرمجيات."

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

21 أبريل 2026 gdb-16.3