PDB ما ه
الملف ذو الملحق .pdb هو ملف قاعدة بيانات البرنامج الذي يحتوي على معلومات التصحيح لملف قابل للتنفيذ مترجم (EXE / DLL). يتم إنشاء ملفات PDB بواسطة Microsoft Compilers عندما يتم تصنيف برنامج تطبيق في وضع التصحيح. يمكن أن يساعد وجود ملف PDB في الهندسة العكسية للملف التنفيذي لأنه يحتوي على معلومات مهمة حول جميع رموز الوحدات. ولهذا السبب يتم الاحتفاظ بهذه الملفات منفصلة عن الملف القابل للتنفيذ النهائي. يمكن لـ Microsoft DgbHelp API فتح ملف PDB للحصول على معلومات مثل الجمهور والصادرات ، والرموز العالمية ، والرموز المحلية ، اكتب البيانات والملفات المصدر وأرقام الأسطر.
تنسيق ملف PDB
PDB هو تنسيق ملفات مملوك لشركة Microsoft ولم يتم توثيقه رسميًا في أي مكان بعد. ومع ذلك ، تتوفر وثائق البداية هنا ويمكن الرجوع إليها.
تيارات PDB
تتكون ملفات PDB من تدفقات متعددة حيث يعمل كل دفق كملف فردي افتراضي ويحتوي على معلومات. يمكن لكتاب ملفات PDB الكتابة إلى هذه الملفات ولا يتم الانتهاء من الملف إلا بعد إصدار التزام صريح. يمكن للمترجم أن يستمر في الكتابة إلى ملف PDB ولكن الالتزام فقط إذا تمت ترجمة جميع التعليمات البرمجية للمستخدم بنجاح. يتكون ملف PDB من التدفقات التالية:
رقم الدفق | المحتويات | وصف قصير |
---|---|---|
1 | Pdb (رأس) | معلومات الإصدار ومعلومات لتوصيل PDB هذا بـ EXE |
2 | Tpi (مدير النوع) | كافة الأنواع المستخدمة في الملف القابل للتنفيذ. |
3 | Dbi (معلومات التصحيح) | يحمل قسم المساهمات وقائمة “Mods” |
4 | NameMap | يحمل جدول سلسلة مجزأ |
4- (ن + 4) | n Mod’s (معلومات الوحدة النمطية) | كل تيار Mod يحمل رموزًا وأرقام أسطر لمجموعة واحدة |
ن + 4 | تجزئة الرمز العالمي | فهرس يسمح بالبحث في الرموز العالمية بالاسم |
ن + 5 | تجزئة الرمز العام | فهرس يسمح بالبحث في الرموز العامة حسب العناوين |
ن + 6 | سجلات الرموز | سجلات الرموز الفعلية للرموز العالمية والعامة |
ن + 7 | اكتب التجزئة | التجزئة المستخدمة بواسطة دفق TPI. |
يتكون كل تدفق في ملف PDB من عدة صفحات لا يتم ترقيمها بالضرورة على التوالي.
رأس PDB
يتم إنشاء ملف PDB برأس يتكون من توقيع لتحديد التنسيق المحدد والتحقق منه. يعتمد طول التوقيع على تنسيق PDB. قد يكون العنوان أطول من صفحة واحدة.
البيانات الوصفية PDB
تعد البيانات الوصفية PDB مسؤولة عن التعرف على جميع تدفقات المكونات ، مع إعطاء طول الصفحات وتسلسلها لكل دفق. يتم إعطاء الأوامر للتيارات على التوالي ؛ بدءًا من 0. يوجد أيضًا تدفق جذر غير مرتب ، والذي يحتوي على بعض البيانات الوصفية.