EU-READELF(1) دستورهای کاربری EU-READELF(1)

eu-readelf - نمایش اطلاعات فایلهای باینری در قالب ELF

eu-readelf [ -a|--all ] [ -h|--file-header ] [ -l|--program-headers|--segments ] [ -S|--section-headers|--sections ] [ گزینهها ] فایل_ELF...

دستور eu-readelf اطلاعات ساختاری، بخشها، هدرها و متغیرهای فایلهای باینری با قالب ELF را نمایش میدهد. گزینه‌ها تعیین می‌کنند که چه اطلاعات خاصی نمایش داده شود.

فایل_ELF... فایل‌های شیئی هستند که باید بررسی شوند. پرونده‌های ELF ۳۲-بیتی و ۶۴-بیتی و همچنین آرشیوهای حاوی پرونده‌های ELF پشتیبانی می‌شوند.

این برنامه عملکردی مشابه با objdump دارد، اما جزئیات بیشتری ارائه می‌دهد و کاملاً مستقل از کتابخانه BFD کار می‌کند؛ بنابراین اگر اشکالی در BFD وجود داشته باشد، عملکرد eu-readelf تحت تأثیر قرار نخواهد گرفت.

فرم‌های کوتاه و بلند گزینه‌ها که در اینجا به‌صورت جایگزین نشان داده شده‌اند، معادل یکدیگر هستند. حداقل یک گزینه علاوه بر -v یا -H باید مشخص شود.

همراه با -w برای یافتن واحدهای کامپایل اسکلتی (skeleton Compile Units) در پرونده که با واحدهای کامپایل تفکیک‌شده (Split Compile units) در یک پرونده ورودی .dwo مرتبط هستند، استفاده می‌شود.
استفاده از بخش نام‌برده (به‌طور پیش‌فرض .gnu_debugdata) به‌عنوان داده ورودی ELF (فشرده‌شده).

معادل مشخص کردن گزینه‌های --file-header، --program-headers، --sections، --symbols، --relocs، --dynamic، --notes، --version-info، --arch-specific، --section-groups و --histogram است.
اطلاعات موجود در هدر ELF در ابتدای پرونده را نمایش می‌دهد.
اطلاعات موجود در هدرهای سگمنت (قطعه) پرونده را، در صورت وجود، نمایش می‌دهد.
اطلاعات موجود در هدرهای بخش‌های پرونده را، در صورت وجود، نمایش می‌دهد.
اطلاعات موجود در گروه‌های بخش پرونده را، در صورت وجود، نمایش می‌دهد.
هنگام نمایش محتویات جدول‌های نماد، یک هیستوگرام (نمودار فراوانی) از طول باکت‌ها نمایش می‌دهد.
ورودی‌های بخش جدول نماد پرونده را، در صورت وجود، نمایش می‌دهد. اگر نمادی دارای اطلاعات نسخه باشد، آن اطلاعات نیز نمایش داده می‌شود. رشته نسخه به‌عنوان پسوند نام نماد و پس از یک نویسه @ نشان داده می‌شود؛ مانند foo@VER_1. اگر نسخه، نسخه پیش‌فرضی باشد که برای ارجاعات بدون نسخه به نماد استفاده می‌شود، با دو نویسه @@ نمایش داده می‌شود؛ مانند foo@@VER_2.
تنها جدول نمادهای پویا (dynamic symbol table) را نمایش می‌دهد.
بخش‌های مربوط به مدیریت استثناها (exception handling) را نمایش می‌دهد.
محتویات سگمنت‌ها یا بخش‌های یادداشت (NOTE) را در صورت وجود نمایش می‌دهد.
محتویات بخش بازآرایی (relocation section) پرونده را در صورت وجود نمایش می‌دهد.
محتویات بخش پویا (dynamic section) پرونده را در صورت وجود نمایش می‌دهد.
محتویات بخش‌های نسخه (version sections) موجود در پرونده را نمایش می‌دهد.
اطلاعات وابسته به معماری (architecture-specific) موجود در پرونده را در صورت وجود نمایش می‌دهد.

محتویات بخش مشخص‌شده را به‌صورت بایت‌های هگزادسیمال نمایش می‌دهد.
محتویات بخش‌های اشکال‌زدایی DWARF پرونده را در صورت وجود نمایش می‌دهد. بخش‌های اشکال‌زدایی فشرده‌شده پیش از نمایش به‌طور خودکار (و موقت) از حالت فشرده خارج می‌شوند. اگر یک یا چند واژه اختیاری پس از سوییچ بیایند، تنها همان دسته‌ها از داده‌ها تخلیه و نمایش داده می‌شوند:
=abbrev
نمایش محتویات بخش .debug_abbrev.
=addr
نمایش محتویات بخش .debug_addr.
=frames
نمایش محتویات خام بخش .debug_frame.
=gdb_index
نمایش محتویات بخش‌های .gdb_index یا .debug_names.
=info
نمایش محتویات بخش .debug_info.
=info+
نمایش محتویات بخش .debug_info؛ به‌علاوه هر واحد اسکلتی بلافاصله با واحد کامپایل تفکیک‌شده متناظر (از پرونده .dwo) دنبال خواهد شد. برای نمایش تفاوت میان واحدهای کامپایل عادی و تفکیک‌شده، آفست‌ها و ارجاعات بین { و } به‌جای [ و ] چاپ می‌شوند.
=decodedline
نمایش محتویات تفسیرشده بخش .debug_line.
=macro
نمایش محتویات بخش‌های .debug_macro یا .debug_macinfo.
=loc
نمایش محتویات بخش‌های .debug_loc یا .debug_loclists.
=pubnames
نمایش محتویات بخش‌های .debug_pubnames یا .debug_gnu_pubnames.
=aranges
نمایش محتویات بخش .debug_aranges.
=ranges
نمایش محتویات بخش‌های .debug_ranges یا .debug_rnglists.
=str
نمایش محتویات بخش‌های .debug_str، .debug_line_str یا .debug_str_offsets.

نکته: نمایش محتویات بخش‌های .debug_static_funcs، .debug_static_vars و debug_weaknames در حال حاضر پشتیبانی نمی‌شود.

محتویات بخش مشخص‌شده را به‌صورت رشته‌های متنی قابل چاپ نمایش می‌دهد. یک عدد، بخش مورد نظر را با نمایه آن در جدول بخش‌ها مشخص می‌کند؛ هر رشته دیگر تمام بخش‌های با آن نام را در فایل شیء مشخص می‌سازد.
اطلاعات نمایه نمادهای پرونده موجود در بخش هدر آرشیوهای باینری را نمایش می‌دهد. این گزینه عملکردی مشابه با دستور t در ar ارائه می‌دهد، با این تفاوت که از کتابخانه BFD استفاده نمی‌کند.

درخواست می‌کند بخش‌هایی که توسط گزینه‌های -x یا -p تخلیه می‌شوند، پیش از نمایش از حالت فشرده خارج شوند. اگر بخش‌ها فشرده نباشند، به همان صورت دست‌نخورده نمایش داده می‌شوند.
شماره نسخه eu-readelf را نمایش می‌دهد.
برای سازگاری در نظر گرفته شده و نادیده گرفته می‌شود (خطوط خروجی همیشه عریض هستند).
فهرست گزینه‌های خط فرمان پشتیبانی‌شده توسط eu-readelf را نمایش می‌دهد.
@پرونده
گزینه‌های خط فرمان را از پرونده می‌خواند. گزینه‌های خوانده‌شده جایگزین گزینه اصلی @پرونده می‌شوند. اگر پرونده وجود نداشته باشد یا قابل خواندن نباشد، با گزینه به‌صورت لغوی برخورد می‌شود و حذف نخواهد شد.

گزینه‌ها در پرونده با نویسه فاصله از یکدیگر جدا می‌شوند. یک نویسه فاصله می‌تواند با احاطه کل گزینه درون گیومه تکی یا دوتایی گنجانده شود. هر نویسه‌ای (از جمله اسلش وارونه) می‌تواند با قرار دادن یک اسلش وارونه پیش از آن درج شود. خود پرونده ممکن است حاوی گزینه‌های @پرونده دیگری باشد؛ هر یک از این گزینه‌ها به‌صورت بازگشتی پردازش می‌شوند.

objdump(1)، readelf(1) و مدخل‌های Info برای binutils.

کپی‌رایت © ۱۹۹۱-۲۰۱۸ بنیاد نرم‌افزار آزاد (Free Software Foundation, Inc.)

کپی‌رایت © ۲۰۱۹ شرکت ردهت (Red Hat Inc.)

مجوز کپی، توزیع یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخه ۱.۳ یا هر نسخه بعدی منتشرشده توسط بنیاد نرم‌افزار آزاد صادر شده است؛ بدون بخش‌های تغییرناپذیر، بدون متن‌های روی جلد و بدون متن‌های پشت جلد.

مه ۲۰۲۵ elfutils