| EU-READELF(1) | دستورهای کاربری | EU-READELF(1) |
نام (NAME)
eu-readelf - نمایش اطلاعات فایلهای باینری در قالب ELF
خلاصه دستور (SYNOPSIS)
eu-readelf [ -a|--all ] [ -h|--file-header ] [ -l|--program-headers|--segments ] [ -S|--section-headers|--sections ] [ گزینهها ] فایل_ELF...
توضیحات (DESCRIPTION)
دستور eu-readelf اطلاعات ساختاری، بخشها، هدرها و متغیرهای فایلهای باینری با قالب ELF را نمایش میدهد. گزینهها تعیین میکنند که چه اطلاعات خاصی نمایش داده شود.
فایل_ELF... فایلهای شیئی هستند که باید بررسی شوند. پروندههای ELF ۳۲-بیتی و ۶۴-بیتی و همچنین آرشیوهای حاوی پروندههای ELF پشتیبانی میشوند.
این برنامه عملکردی مشابه با objdump دارد، اما جزئیات بیشتری ارائه میدهد و کاملاً مستقل از کتابخانه BFD کار میکند؛ بنابراین اگر اشکالی در BFD وجود داشته باشد، عملکرد eu-readelf تحت تأثیر قرار نخواهد گرفت.
گزینهها (OPTIONS)
فرمهای کوتاه و بلند گزینهها که در اینجا بهصورت جایگزین نشان داده شدهاند، معادل یکدیگر هستند. حداقل یک گزینه علاوه بر -v یا -H باید مشخص شود.
انتخاب ورودی ELF (ELF Input Selection)
- --dwarf-skeleton پرونده
- همراه با -w برای یافتن واحدهای کامپایل اسکلتی (skeleton Compile Units) در پرونده که با واحدهای کامپایل تفکیکشده (Split Compile units) در یک پرونده ورودی .dwo مرتبط هستند، استفاده میشود.
- --elf-section [بخش]
- استفاده از بخش نامبرده (بهطور پیشفرض .gnu_debugdata) بهعنوان داده ورودی ELF (فشردهشده).
انتخاب خروجی ELF (ELF Output Selection)
- -a, --all
- معادل مشخص کردن گزینههای --file-header، --program-headers، --sections، --symbols، --relocs، --dynamic، --notes، --version-info، --arch-specific، --section-groups و --histogram است.
- -h, --file-header
- اطلاعات موجود در هدر ELF در ابتدای پرونده را نمایش میدهد.
- -l, --program-headers, --segments
- اطلاعات موجود در هدرهای سگمنت (قطعه) پرونده را، در صورت وجود، نمایش میدهد.
- -S, --sections, --section-headers
- اطلاعات موجود در هدرهای بخشهای پرونده را، در صورت وجود، نمایش میدهد.
- -g, --section-groups
- اطلاعات موجود در گروههای بخش پرونده را، در صورت وجود، نمایش میدهد.
- -I, --histogram
- هنگام نمایش محتویات جدولهای نماد، یک هیستوگرام (نمودار فراوانی) از طول باکتها نمایش میدهد.
- -s, --syms, --symbols [نام_بخش]
- ورودیهای بخش جدول نماد پرونده را، در صورت وجود، نمایش میدهد. اگر نمادی دارای اطلاعات نسخه باشد، آن اطلاعات نیز نمایش داده میشود. رشته نسخه بهعنوان پسوند نام نماد و پس از یک نویسه @ نشان داده میشود؛ مانند foo@VER_1. اگر نسخه، نسخه پیشفرضی باشد که برای ارجاعات بدون نسخه به نماد استفاده میشود، با دو نویسه @@ نمایش داده میشود؛ مانند foo@@VER_2.
- --dyn-syms
- تنها جدول نمادهای پویا (dynamic symbol table) را نمایش میدهد.
- -e, --exception
- بخشهای مربوط به مدیریت استثناها (exception handling) را نمایش میدهد.
- -n, --notes [نام_بخش]
- محتویات سگمنتها یا بخشهای یادداشت (NOTE) را در صورت وجود نمایش میدهد.
- -r, --relocs
- محتویات بخش بازآرایی (relocation section) پرونده را در صورت وجود نمایش میدهد.
- -d, --dynamic
- محتویات بخش پویا (dynamic section) پرونده را در صورت وجود نمایش میدهد.
- -V, --version-info
- محتویات بخشهای نسخه (version sections) موجود در پرونده را نمایش میدهد.
- -A, --arch-specific
- اطلاعات وابسته به معماری (architecture-specific) موجود در پرونده را در صورت وجود نمایش میدهد.
انتخاب خروجیهای اضافی (Additional output selection)
- -x نام_یا_شماره, --hex-dump=نام_یا_شماره
- محتویات بخش مشخصشده را بهصورت بایتهای هگزادسیمال نمایش میدهد.
- -w, --debug-dump[=نوع]
- محتویات بخشهای اشکالزدایی 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 در حال حاضر پشتیبانی نمیشود.
- -p نام_یا_شماره, --string-dump=نام_یا_شماره
- محتویات بخش مشخصشده را بهصورت رشتههای متنی قابل چاپ نمایش میدهد. یک عدد، بخش مورد نظر را با نمایه آن در جدول بخشها مشخص میکند؛ هر رشته دیگر تمام بخشهای با آن نام را در فایل شیء مشخص میسازد.
- -c, --archive-index
- اطلاعات نمایه نمادهای پرونده موجود در بخش هدر آرشیوهای باینری را نمایش میدهد. این گزینه عملکردی مشابه با دستور t در ar ارائه میدهد، با این تفاوت که از کتابخانه BFD استفاده نمیکند.
کنترل خروجی (Output control)
- -z, --decompress
- درخواست میکند بخشهایی که توسط گزینههای -x یا -p تخلیه میشوند، پیش از نمایش از حالت فشرده خارج شوند. اگر بخشها فشرده نباشند، به همان صورت دستنخورده نمایش داده میشوند.
- -v, --version
- شماره نسخه eu-readelf را نمایش میدهد.
- -W, --wide
- برای سازگاری در نظر گرفته شده و نادیده گرفته میشود (خطوط خروجی همیشه عریض هستند).
- -H, --help
- فهرست گزینههای خط فرمان پشتیبانیشده توسط eu-readelf را نمایش میدهد.
- @پرونده
- گزینههای خط فرمان را از پرونده میخواند. گزینههای خواندهشده جایگزین گزینه اصلی @پرونده میشوند. اگر پرونده وجود نداشته باشد یا قابل خواندن نباشد، با گزینه بهصورت لغوی برخورد میشود و حذف نخواهد شد.
گزینهها در پرونده با نویسه فاصله از یکدیگر جدا میشوند. یک نویسه فاصله میتواند با احاطه کل گزینه درون گیومه تکی یا دوتایی گنجانده شود. هر نویسهای (از جمله اسلش وارونه) میتواند با قرار دادن یک اسلش وارونه پیش از آن درج شود. خود پرونده ممکن است حاوی گزینههای @پرونده دیگری باشد؛ هر یک از این گزینهها بهصورت بازگشتی پردازش میشوند.
همچنین ببینید (SEE ALSO)
objdump(1)، readelf(1) و مدخلهای Info برای binutils.
حق نشر (COPYRIGHT)
کپیرایت © ۱۹۹۱-۲۰۱۸ بنیاد نرمافزار آزاد (Free Software Foundation, Inc.)
کپیرایت © ۲۰۱۹ شرکت ردهت (Red Hat Inc.)
مجوز کپی، توزیع یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخه ۱.۳ یا هر نسخه بعدی منتشرشده توسط بنیاد نرمافزار آزاد صادر شده است؛ بدون بخشهای تغییرناپذیر، بدون متنهای روی جلد و بدون متنهای پشت جلد.
| مه ۲۰۲۵ | elfutils |