سؤال

في Linux الحديثة ، يتم تجريد جميع الكائنات تقريبًا وتقسيمها في جزأين (ملفين). الأول قابل للتنفيذ نفسه والثاني هو رموز التصحيح ، التي تم تجريدها من قزم الأصلي. يتم إنشاء هذه الملفات مع

objcopy --only-keep-debug original.elf binary.dbg
mv original.elf binary
objcopy --strip-debug binary

كيف يمكنني الاندماج binary و binary.dbg في ملف ELF مع معلومات التصحيح؟ أريد إعادة إنشاء ثنائي أصلي. لا يمكن أن يكون بايت إلى بايت مساوياً للأصل ، ولكن يجب أن يكون لديه رموز تصحيح في الداخل.

ملاحظة نعم ، أنا أعرف عنها gnu.debuglink القسم ، لكنه لا يعمل لبعض المصابين (ETNUS) و Disassemblers (لا يمكن لـ OBJDUMP استعادة معلومات الرموز)

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

المحلول

ل elf ، elfutils تحتوي الحزمة على أداة تسمى eu-unstrip هذا يفعل الوظيفة. في سياق مثالك:

eu-unstrip binary binary.dbg

binary.dbg الآن لديه كل من الرموز الثنائية والتصحيح. سأقوم بتضمين إشارة إلى الوثائق إذا كان بإمكاني العثور على أي ...

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