
Seer - واجهة رسومية أمامية لـ gdb
Seer - واجهة رسومية أمامية لـ gdb لنظام Linux. (Ernie Pasveer [email protected])
يتم العمل على هذا المشروع بنشاط. الهدف هو واجهة رسومية بسيطة وجميلة لـ gdb.
يرجى الإبلاغ عن أي أخطاء أو ميزات مرغوبة عبر بريدي الإلكتروني أو إنشاء مهمة في صفحة مشروعي على GitHub.
يمكن تثبيت Seer إما من مدير الحزم أو من المصدر.
[!NOTE] تأكد من تلبية المتطلبات قبل التثبيت.
Linux
C++17
gdb مع مترجم "mi" (تحقق عن طريق تشغيل: gdb --interpreter=mi)
CMake (3.5.0 أو أحدث)
QT6
QT5
متاح من خلال مديري الحزم التاليين:
$ pamac install seer
$ zypper install seergdb
موقع Flathub. هنا
$ flatpak install flathub io.github.epasveer.seer
إصدارات Seer التجريبية. صفحة إصدارات Seer على github.
مهم: flatpak-spawn --host، مطلوب في GDB Launcher لتشغيل gdb. انظر https://github.com/epasveer/seer/issues/377#issuecomment-3620844808.
قم بتنزيل seer.flatpak. قم بتثبيته:
$ flatpak install -y --bundle --user seer.flatpak
إصدارات Seer التجريبية. صفحة إصدارات Seer على github.
$ snap install seergdb_<version>.snap --dangerous
(موصى به) يمكن بناء Seer مع Qt6 باتباع التعليمات أدناه.
لا يزال من الممكن بناؤه مع Qt5، في الوقت الحالي، باتباع التعليمات أدناه.
اطلع على صفحة Wiki الخاصة بـ Seer على github.
تم تصميم Seer لبدء تشغيل البرنامج لتصحيح الأخطاء بسهولة من سطر الأوامر. لدى gdb طرق متعددة لتصحيح أخطاء البرنامج. لذا فإن Seer يفعل ذلك بشكل طبيعي أيضًا.
انتقل إلى Wiki لرؤية جميع طرق تشغيل Seer.
أمثلة على طرق عرض وحوارات Seer المختلفة.
يبدو العرض الرئيسي لـ Seer كما يلي:

المصدر/الدوال/الأنواع/المتغيرات/المكتبات
معلومات المتغير/السجلات
مدير الكود.
نقاط التوقف، نقاط المراقبة، نقاط الالتقاط، نقاط الطباعة، أوامر gdb اليدوية، والسجلات.
معلومات إطار المكدس.
معلومات الخيوط.
دعم وضع تصحيح الأخطاء العكسي في Gdb.
عند استدعاء حوار فتح الملف التنفيذي، يبدو كما يلي:

ستذهب جميع مخرجات النص من الملف التنفيذي إلى وحدة تحكم Seer. يمكن أيضًا إدخال نص للملف التنفيذي عبر وحدة التحكم.

عادةً ما يعرض Seer الكود المصدري فقط كعلامات تبويب في مدير الكود. يمكن أيضًا عرض تجميع البرنامج كعلامة تبويب.
حدد "View->Assembly View" وستظهر علامة تبويب إضافية بجانب علامات تبويب الكود المصدري تعرض التجميع الحالي الذي يتم تنفيذه. إليك مثال.

مثل علامات تبويب الكود المصدري، يمكن تعيين نقاط التوقف في علامة تبويب التجميع. يتم تمييز التعليمات الحالية.
النقر المزدوج على الإدخالات في علامة تبويب "Breakpoints" وعلامة تبويب "Stack frames" سيعرض التجميع لتلك العناوين.
توجد مفاتيح اختصار "Nexti" و"Stepi"، كما هو محدد في إعدادات التكوين الخاصة بك. عادةً "Ctrl+F5" و"CTRL+F6". سيؤدي استخدام "^F" في علامة تبويب التجميع إلى إظهار شريط بحث قوي.
ميزة التجميع في Seer جديدة. لا تتردد في اقتراح تغييرات/ميزات.
عند النظر إلى محتويات الذاكرة الخام في عارض الذاكرة، يبدو كما يلي :
| الذاكرة | التفكيك |
|---|---|
![]() | ![]() |
عند النظر إلى محتويات المصفوفات في عارض المصفوفات، يبدو كما يلي :
| عادي | خطي | مبعثر |
|---|---|---|
![]() | ![]() | ![]() |
يمكن استخدام مصفوفتين كمخطط X-Y. على سبيل المثال، تشكل مصفوفة 'points' البسيطة هذه مخطط X-Y لشكل.
int main() {
int points[] = {50,1,20,91,97,35,2,35,79,91,50,1};
return 0;
}
| قيم X | قيم Y | قيم XY |
|---|---|---|
![]() | ![]() | ![]() |
عند النظر إلى محتويات بنية C/C++ أو فئة C++ في عارض البنى، يبدو كما يلي. يعرض هذا المثال محتويات "*this" لفئة C++ الحالية التي يوجد بها Seer. يمكن تحرير جميع أعضاء البنية التي تكون من الأنواع الأساسية.

يوجد أيضًا عارض البنى الأساسي وهو أخف وزنًا، لكنه لا يمكنه متابعة المؤشرات ولا يمكن تحريره.
عند النظر إلى محتويات الذاكرة الخام التي تمثل صورة، يمكن استخدام عارض الصور.

أرسل بريدًا إلكترونيًا إلى [email protected] لأي أخطاء أو ميزات. أو أنشئ مهمة في صفحة مشروعي على GitHub.
إنه عالم رائع.