GDB

البرمجيات قطة:
GDB
تفاصيل البرنامج:
الإصدار: 8.1.1 محدث
تاريخ إيداع: 16 Aug 18
المطور: Stan Shebs
ترخيص: حرر
شعبية: 286

Rating: 4.0/5 (Total Votes: 3)

GDB (المعروف أيضًا باسم مصحح مشروع GNU) هو برنامج مفتوح المصدر ومجاني من برامج سطر الأوامر التي تسمح للمستخدمين والمطورين على حد سواء بمعرفة ما يجري داخل 'برنامج آخر' ، أثناء تنفيذه ، أو لماذا يكون التطبيق يتعطل عند نقطة معينة.


الميزات في لمحة

تتضمن الميزات الأساسية أربعة أساليب مختلفة لمساعدة المطورين على اكتشاف الأخطاء في العمل ، وبدء تطبيق وتحديد أي شيء قد يؤثر على سلوكه ، وإيقاف برنامج في ظروف محددة ، وفحص السجلات عند تعطل التطبيق ، وتغيير الأشياء تدريجيًا في برنامج من أجل تجربة تصحيح آثار قضية واحدة ، والاستمرار في التعلم عن خطأ آخر. كما أنه يدعم تصحيح البرامج المكتوبة في نطاق واسع من لغات البرمجة ، بما في ذلك C و C ++ و Pascal و Ada و Objective-C وغيرها الكثير.

هو تطبيق سطر أوامر

مصحح مشروع جنو هو إرادة دائمة لتطبيق سطر الأوامر. لاستخدامها ، يجب تشغيل & ldquo؛ gdb & rdquo؛ الأمر في محاكي طرفي ، ثم نفذ & ldquo؛ help & rdquo؛ الأمر (بدون علامتي الاقتباس) مطالبة gdb. إضافةً إلى ذلك ، يمكنك أيضًا كتابة & ldquo؛ المساعدة على الكل & rdquo؛ الأمر لعرض قائمة بجميع الأوامر، اكتب "تعليمات"، يليه اسم الأمر لعرض وثائق كاملة، اكتب "تعليمات"، يليه اسم فئة لعرض قائمة من الأوامر في تلك الفئة، لكتابة "كلمة بالمناسبة" للبحث للأوامر المتعلقة بـ "الكلمة".


قائمة فئات الأوامر

بعد كتابة & ldquo؛ help & rdquo؛ الأمر كما هو موضح أعلاه، سوف ترى قائمة من فئات الأوامر، بما في ذلك الأسماء المستعارة (يعرض الأسماء المستعارة من الأوامر الأخرى)، ونقاط (يجعل البرنامج التوقف عند بعض النقاط)، وبيانات (لفحص البيانات)، وملفات (لفحص الملفات) ، الداخلية (أوامر الصيانة)، غامضة (ملامح غامضة)، على التوالي (لتشغيل البرنامج)، كومة (لفحص كومة)، الحالة (للاستفسارات الحالة)، والدعم (لمرافق الدعم)، tracepoints (لتتبع تنفيذ البرنامج دون إيقاف البرنامج) والأوامر المعرفة من قبل المستخدم (User-defined).

الأنظمة الأساسية للأجهزة المدعومة وأنظمة التشغيل

تم تصميم GDB من الإزاحة ليكون تطبيقًا متعدد المنصات ، يعمل على أنظمة التشغيل السائدة مثل Microsoft Windows وبعض أشهر إصدارات Linux / UNIX. يتم دعمه على الأنظمة الأساسية للأجهزة 32 بت و 64 بت.

ما هو الجديد في هذا الإصدار:

PR gdb / 22824 (وصف مضلل لوظيفة pththon الجديدة من roth في GDB 8.1 ملف الأخبار)
PR gdb / 22849 (لا يعمل ctrl-c في جهاز بعيد متصل)
PR gdb / 22907 ([Regression] gdbserver لا يعمل مع الثنائيات الخاصة بالاسم فقط)
PR gdb / 23028 (تفكيك غير متناسق لـ vcvtpd2dq)
PR gdb / 23053 (Fix -D_GLIBCXX_DEBUG انحدار مؤشر gdb-add-index)
PR gdb / 23127 ([AArch64] لا يمكن استخدام GDB لتصحيح الأخطاء في البرامج التي تستخدم عناوين افتراضية عالية)
خادم PR / 23158 (gdbserver لم يعد يعمل على ويندوز)
PR breakpoints / 23210 ([8.1 / 8.2 Regression] Bogus Breakpoint address adjusted from 0xf7fe7dd3 to 0xfffffffff7fe7dd3)

ما هو الجديد في الإصدار 8.1:

يتم الآن تعيين Breakpoints على دالات C ++ على كافة النطاقات بشكل افتراضي (& quot؛ wild & quot؛)؛
دعم لإدخال نقاط التوقف في الدالات المميزة بعلامات C ++ ABI؛
الهدف مضاهاة حسابية نقطة عائمة أثناء تقييم التعبير (يتطلب MPFR 3.1 أو أحدث) ؛
العديد من تحسينات Python Scripting؛
تحسين دعم الصدأ على وجه الخصوص ، يمكن الآن فحص كائنات Trait عند تصحيح رمز الصدأ ؛
لم يعد GDB يقوم بافتراضات حول نوع الرموز دون تصحيح المعلومات لتجنب نتائج خاطئة وغامضة في الغالب ؛
تقبل الآن الأمرين "تمكين" و "تعطيل" نطاقًا من مواقع نقاط الاتصال ؛
أمر "starti" جديد لبدء البرنامج في التعليم الأول ؛
أمر "rbreak" الجديد لإدخال عدد من نقاط التوقف عبر نمط تعبير عادي (يتطلب بايثون) ؛
يدعم الأمر "ptype" الآن طباعة إزاحة وحجم الحقول في البنية ؛
يدعم الأمر 'gcore' الآن تفريغ كافة تعيينات الذاكرة (خيار سطر الأوامر '-a')؛
اختصارات جديدة لوضع TUI المفرد: "i" للخطوتين stepi ، و "o" لـ nexti ؛

تحسينات GDBserver:
دعم نقل متغيرات البيئة إلى GDBserver ؛
دعم لبدء العمليات السفلية بدليل عمل أولي محدد ؛
في أنظمة Unix ، دعم توسيع globing وإبدال متغير من حجج سطر الأوامر السفلية؛
تحسينات مختلفة الانتهاء ؛
الأمر الذي يتم استخدامه في ترجمة وإدخال الشفرات باستخدام الأمر "compile" أصبح الآن قابلاً للتهيئة ؛
خيار سطر الأوامر "--readnever" الجديد لتسريع بدء تشغيل GDB عند عدم الحاجة إلى تصحيح الأخطاء.
دعم التكوينات المحلية الجديدة التالية:
FreeBSD / aarch64 (aarch64 * - * - freebsd *)؛
FreeBSD / arm (arm * - * - freebsd *)؛
دعم الأهداف الجديدة التالية:
FreeBSD / aarch64 (aarch64 * - * - freebsd *)؛
FreeBSD / arm (arm * - * - freebsd *)؛
OpenRISC ELF (or1k * - * - elf)
تمت إزالة الدعم للأهداف التالية والتكوينات الأصلية:
Solaris2 / x86 (i؟ 86 - * - solaris2. [0-9])؛
Solaris2 / sparc (sparc * - * - solaris2. [0-9])؛

ما هو الجديد في الإصدار:

يتطلب إنشاء هذا الإصدار من أداة GDB الآن الأدوات التالية:
مترجم C ++ - 11 (على سبيل المثال ، GCC 4.8 أو أحدث) ؛
جنو يصنع نسخة 3.81 أو في وقت لاحق.
التغييرات في هذا الإصدار تشمل:
C ++: دعم مراجع rvalue
تحسينات البرمجة النصية Python:
وظائف جديدة لبدء والتوقف والوصول إلى تسجيل btrace قيد التشغيل.
دعم مرجع Rvalue في gdb.Type.
أوامر GDB مترجم:
تقبل أوامر المستخدم الآن عددًا غير محدود من الوسيطات.
The & quot؛ eval & quot؛ الأمر الآن يوسع الوسيطات المعرفة من قبل المستخدم.
دعم الإصدار 5 من DWARF
(لاحظ أن مؤشر .debug_names غير معتمد حتى الآن).
تحسينات GDB / MI:
أمر مكتبات قائمة الملفات المشتركة الجديدة لإدراج المكتبات المشتركة في البرنامج.
الأمر new -target-flash-erase ، لمسح ذاكرة فلاش.
دعم لـ freeBSD / mips الأصلي (mips * - * - freebsd)
دعم الأهداف التالية:
سينوبسيس ARC (قوس * - * - elf32)
FreeBSD / mips (mips * - * - freebsd)
تحسينات متنوعة:
يتم الآن دعم إعادة توجيه سطر الأوامر على مضيفي MS-Windows.
دعم أسماء الخيط على MS-Windows.

دعم سجل PKU على جنو / لينكس.
دعم أوصاف الهدف على sparc32 و sparc64.
أمر GDB / CLI جديد لمسح ذاكرة فلاش
تعليمات rdrand و rdseed سجل / إعادة دعم.
تمت إزالة دعم الميزات التالية:
دعم لبرامج جافا المترجمة مع gcj
دعم التكوينات التالية:
FreeBSD / alpha (alpha * - * - freebsd *)
GNU / kFreeBSD / alpha (alpha * - * - kfreebsd * -gnu)

ما هو الجديد في الإصدار 7.9.1:

إنشاء PR / 18033 (تعليق نمط C ++ المستخدم في gdb / iq2000-tdep.c و gdb / compile / compile - *. c )
لا يمكن لـ PR build / 18298 (& quot؛ compile & quot؛ command العثور على برنامج التحويل البرمجي إذا تم تكوين الأدوات باستخدام triplet بدلاً من quadruplet)
PR tui / 18311 (SEGV عشوائي عند عرض التسجيلات في وضع TUI)
PR python / 18299 (الاستثناء عند تسجيل طابعة جميلة عالمية في وضع مطوّل)
PR python / 18066 (وسيطة & quot؛ كلمة & quot؛ يبدو مكسورة في Command.complete (نص ، كلمة))
PR pascal / 17815 (إصلاح سلوك pascal للحقول الدراسية مع testcase)
ثعبان PR / 18285 (ptype expr-with-xmethod يؤدي SEGV)

ما هو الجديد في الإصدار 7.9:

تحسينات البرمجة النصية لـ Python.
تجميع شفرة المصدر والحقن في أقل شأنا.
أوامر جديدة ، خيارات ، متغيرات / خيارات ملائمة.
دعم MIPS SDE (mips * -de * -elf *).
معالجة أفضل للإشارات عند تصحيح البرامج الخيوط.

ما هو الجديد في الإصدار 7.8.2:

symtab PR / 17642 ([7.8 regression] internal-error: resolve_dynamic_struct: Assertion `TYPE_NIFIELDS (type) & gt؛ 0 'failed. )
PR binutils / 17677 (_bfd_elf_get_synthetic_symtab يعمل في تعقيد O (n ^ 2)
PR gdb / 16215 (SPARC: لا يمكن حساب CFA لهذا الإطار)
PR gdb / 17525 (target-async: أوامر نقطة توقف لم يتم تنفيذها عند تشغيل البرنامج من البرنامج النصي -x)
PR cli / 17828 ([7.8 regression] -batch -ex r breaks terminal)

ما هو الجديد في الإصدار 7.8.1:

PR python / 17364 (تحتاج إلى أسماء مطبوعات أفضل في bound_registers.py)
PR build / 17104 (CFLAGS = & quot؛ -Wall -Wextra & quot؛ gdb / confgure - with-babeltrace failed)
PR gdb / 17345 (babeltrace (1.1.2 وما بعدها) يشكو من بيانات ctf التي تم إنشاؤها بواسطة GDB)
PR build / 17298 (gcore: Couldn't get registers: No such process)
ثعبان PR / 17342 (Xmethod Python ليس متوافق مع Python 3)
PR python / 17355 (Crash on Python frame filters with unreadable arg)
PR guile / 17367 (حساب مسار النقابة خطأ عندما يتم توفير نص pkg-config على شكل arg إلى -wile-guile)
PR gdb / 17247 (gdb يتجمد في تطبيق متعدد الخيوط)
PR gdb / 17347 (الانحدار: توقف GDB أثناء التشغيل مع العملية المرفقة)
PR gdb / 17407 (Regression for Linux vDSO reading)
خادم PR / 17457 (aarch64 / gdbserver: تسجيل نقاط عائمة خطأ)
خادم PR / 17487 (state- & gt؛ dr_control_mirror == 0 فشل التوكيد في gdbserver على Windows)
PR gdb / 17472 (مع التعليقات التوضيحية ، والإدخال أثناء التنفيذ في حالات الطوارئ readline / gdb)
PR gdb / 17471 (تكرار أمر الخلفية يجعله في المقدمة)

PR cli / 17300 (تعطل في الوضع بدون توقف مع المتابعة - a & (readline_callback_read_char () تسمى بدون معالج!))
PR python / 17372 (python معلقة عند عرض help ())
PR python / 17408 (../../gdb/infrun.c:5256: internal-error: switch_back_to_stepped_thread: Assertion `! schedlock_applies (1)" failed.)

ما هو الجديد في الإصدار 7.8:

دعم البرمجة النصية المكررة.
تحسينات البرمجة النصية Python.
أوامر جديدة ، خيارات ، متغيرات / خيارات ملائمة.
البروتوكول عن بعد وتحسينات GDBserver.
تكوينات الهدف الجديد (PowerPC64 GNU / Linux end-endian).
تحسينات btrace.
ISO C99 طول الصفيف التلقائي المصفوفة الدعم.
قسم & quot؛ مقارنة الأقسام & quot؛ الأمر الآن يعمل على جميع الأهداف.
The & quot؛ target native & quot؛ الأمر الآن يتصل الهدف الأصلي.

ما هو الجديد في الإصدار 7.7:

دعم برمجة Python المحسّن.
بعض التحسينات C ++.
أوامر جديدة ، خيارات ، متغيرات / خيارات ملائمة.
عدة أوامر GDB / MI الجديدة والتحسينات.
البروتوكول عن بعد وتحسينات GDBserver.
تكوينات الهدف الجديد (Nios II، TI MSP430).
GDB ويندوز x64 الفك دعم البيانات.
SystemTap SDT يحسب الدعم على AArch64 GNU / Linux.
دعم CTF (تنسيق التتبع الشائع).
مخطوطات جديدة gcore و gdb-add-index.sh.
تحسين الذراع * -linux سجل / إعادة دعم.
تمت إزالة الدعم لـ aSout NetBSD و OpenBSD تكوينات قديمة. يتم الاحتفاظ المتغيرات ELF من هذه التكوينات المدعومة.
في & quot؛ تعيين | عرض remotebaud & quot؛ يتم إيقاف الأوامر لصالح & quot؛ show | show baud serial & quot ؛.

ما هو الجديد في الإصدار 7.6.2:

PR breakpoint / 16251 (خطأ في توقف الأجهزة لـ AArch64 بعد التفرع)
PR gdb / 16303 (GDB 7.6.1 لا يعمل مع binutils 2.24 على MIPS16 و microMIPS)

ما هو الجديد في الإصدار 7.6.1:

PR tdep / 15420 (لا يمكن تصحيح البرامج المرتبطة في الإصدارات الأحدث من x 86-solaris - Solaris 10 أو التحديث 10 أو الأحدث)
PR remote / 15455 (حزمة بعيد QTro مكسورة)
إنشاء PR / 15476 (فشل الإنشاء بسبب نوع التعداد غير المكتمل في utils.h)
خادم PR / 15594 (لا يدعم دعم tls في 64 x32 x86 gdbserver العنوان إلى 64 بت)
خادم العلاقات العامة / 15075 (dprintf inteferes with & quot؛ next & quot؛)
ملقم PR / 15434 (يستخدم dprintf متزامن 'متابعة' حتى في وضع عدم التوقف)
PR tui / 14880 (في تخطيطات الاشتراكات المقسّمة ، يؤدي إلى نتائج فشل التأكّد في القيمة. c)
PR c ++ / 15519 (يكون GDB 7.6 أبطأ بمعدل 94x من GDB 7.5.1 باستخدام ملف أساسي معين)
PR gdb / 15837 (يطبع GDB قيم الإدخال للمتغيرات المحلية)
PR gdb / 15415 (gdb يحل الارتباطات الرمزية عند تمرير argv [0])
PR PRI / 15603 (CTRL-C لم يعد يمكن أن يقطع أدنى)
PR gdb / 15604 (انحدار مأخذ توصيل gdbserver 7.5 7.5)

ما هو الجديد في الإصدار 7.5:

اذهب إلى دعم اللغة.
أهداف جديدة (x32 ABI و microMIPS و Renesas RL78 و HP OpenVMS ia64).
المزيد من تحسينات البرمجة النصية Python.
يحسب SDT (تتبع ثابت معرف) الدعم مع تحقيقات SystemTap.
تحسينات GDBserver (اتصالات stdio ، تقييم الجانب الهدف لظروف نقطة التوقف ، تحسينات البروتوكول عن بعد).
تحسينات متنوعة أخرى (القدرة على التوقف عند تحميل / تفريغ مكتبة مشتركة ، printf ديناميكية ، إلخ).
عكس التصحيح على أرمينيا.
الثنائي & quot؛ gdbtui & quot؛ تم التخلي عنها ولم يعد من الممكن بناؤها. استخدم & quot؛ gdb -tui & quot؛ في حين أن.

ما هو الجديد في الإصدار 7.4:

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

ما هو الجديد في الإصدار 7.1:

دعم الأهداف الجديدة (بما في ذلك المحاكي):
Xilinx MicroBlaze
رينيساس آر إكس
الميزات الجديدة الرئيسية هي:
تصحيح البرامج المتعددة ، مما يسمح لمصحح الأخطاء بالتحكم في أكثر من
برنامج واحد في نفس جلسة GDB.
تصحيح وضع المسؤول القابل للتنفيذ (PIE).
كما يتميز بالعديد من التحسينات وإصلاح الأخطاء ، بما في ذلك:
تم تمديد دعم بايثون.
تحسينات دعم C ++ (مساحة الاسم ، مشغلات الإرسال ، إصلاحات الأخطاء)
تحسينات دعم Tracepoint.
عملية تحسينات سجل (حفظ / استعادة سجل التنفيذ ، والأجهزة
دعم نقطة المراقبة).
تحسينات البروتوكول عن بعد (تصحيح أخطاء kernel Linux ، الحزم الجديدة
لدعم tracepoint)

برامج مماثلة

pytrace
pytrace

20 Feb 15

ipdbplugin
ipdbplugin

11 May 15

otrace
otrace

20 Feb 15

VimPdb
VimPdb

11 May 15

البرامج الأخرى من المطور Stan Shebs

Xconq
Xconq

2 Jun 15

تعليقات ل GDB

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!