سؤال

يسمح برنامج gdbserver بتصحيح أخطاء البرامج عن بعد.عادة، يتم استخدام نسخة محلية من gdb للتفاعل مع مثيل gdbserver البعيد، والبرنامج الذي يعمل ضمن خادم gdbserver البعيد.

سؤالي هو:هل هناك تطبيقات العميل لـ gdb البروتوكول التسلسلي عن بعد (RSP) التي تسمح لبرامج أخرى غير gdb بالتفاعل مع برنامج gdbserver؟

تناقش هذه الوثيقة تنفيذ خادم RSP, ولكن هذا هو جانب العميل الذي أهتم به في المقام الأول.هذا تطبيق تدعم العميل والخادم، ولكن يتم تنفيذها في لغة LISP المشتركة، ولم تصبح مكتبة ناضجة بعد.

هل كانت مفيدة؟

المحلول

لست على علم بأي عملاء لبروتوكول GDB.

لماذا تريد واحدة؟

للمهام البسيطة (البدء؛وقف؛فحص عناوين الذاكرة) يمكنك كتابة واحدة من الصفر بسرعة كبيرة.

بالنسبة للمهام المعقدة (تفكيك المكدس، وفحص المتغيرات، وما إلى ذلك) يجب عليك إعادة تنفيذ أجزاء مهمة من GDB؛وربما لا ينبغي محاولة ذلك دون سبب وجيه للغاية.

لاحظ أيضًا أن بروتوكول GDB/gdbserver يتطور باستمرار؛هناك أحكام للسماح لـ GDB الأحدث بالتعامل مع gdbserver الأقدم، لكنني لست متأكدًا مما إذا كان العكس صحيحًا أيضًا.

نصائح أخرى

تم توثيق بروتوكول gdb عن بعد بالكامل في دليل gdb، المتوفر عبر الإنترنت على الموقعhttp://sourceware.org/gdb/current/onlinedocs/gdb_toc.html

لديك gdb للنظر إليه كمثال عملي - يجب أن يكون هذا كافيًا للسماح لك بكتابة عميل للتحكم في gdbserver عبر البروتوكول التسلسلي.؛-)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top