| READELF(1) | GNU Development Tools | READELF(1) |
نام (NAME)
readelf - نمایش اطلاعات مربوط به فایلهای ELF
خلاصه دستور (SYNOPSIS)
readelf [-a|--all]
[-h|--file-header]
[-l|--program-headers|--segments]
[-S|--section-headers|--sections]
[-g|--section-groups]
[-t|--section-details]
[-e|--headers]
[-s|--syms|--symbols]
[--dyn-syms|--lto-syms]
[--sym-base=[0|8|10|16]]
[--demangle=style|--no-demangle]
[--quiet]
[--recurse-limit|--no-recurse-limit]
[-U method|--unicode=method]
[-X|--extra-sym-info|--no-extra-sym-info]
[-n|--notes]
[-r|--relocs]
[-u|--unwind]
[-d|--dynamic]
[-V|--version-info]
[-A|--arch-specific]
[-D|--use-dynamic]
[-L|--lint|--enable-checks]
[-x <number or name>|--hex-dump=<number or name>]
[-p <number or name>|--string-dump=<number or
name>]
[-R <number or name>|--relocated-dump=<number or
name>]
[-j <number or name>|--display-section=<number or
name>]
[-z|--decompress]
[-c|--archive-index]
[-w|--debug-dump]
[-wa|--debug-dump=abbrev]
[-wA|--debug-dump=addr]
[-wr|--debug-dump=aranges]
[-wc|--debug-dump=cu_index]
[-wL|--debug-dump=decodedline]
[-wf|--debug-dump=frames]
[-wF|--debug-dump=frames-interp]
[-wg|--debug-dump=gdb_index]
[-wi|--debug-dump=info]
[-wk|--debug-dump=links]
[-wo|--debug-dump=loc]
[-wm|--debug-dump=macro]
[-wp|--debug-dump=pubnames]
[-wt|--debug-dump=pubtypes]
[-wR|--debug-dump=Ranges]
[-wl|--debug-dump=rawline]
[-ws|--debug-dump=str]
[-wO|--debug-dump=str-offsets]
[-wu|--debug-dump=trace_abbrev]
[-wT|--debug-dump=trace_aranges]
[-wU|--debug-dump=trace_info]
[-wK|--debug-dump=follow-links]
[-wN|--debug-dump=no-follow-links]
[-wD|--debug-dump=use-debuginfod]
[-wE|--debug-dump=do-not-use-debuginfod]
[--debug-dir=dir]
[-P|--process-links]
[--dwarf-depth=n]
[--dwarf-start=n]
[--ctf=section]
[--ctf-parent=section]
[--ctf-symbols=section]
[--ctf-strings=section]
[--sframe=section]
[-I|--histogram]
[--got-contents]
[-v|--version]
[-W|--wide]
[-T|--silent-truncation]
[-H|--help]
elffile....SH
"توضیحات
(DESCRIPTION)" readelf
اطلاعات
مربوط به یک
یا چند فایل
شیء (object file) در
قالب ELF را
نمایش
میدهد.
گزینهها
تعیین
میکنند که
چه اطلاعات
خاصی نمایش
داده شود.
elffile... فایلهای شیء مورد بررسی هستند. فایلهای ELF ۳۲-بیتی و ۶۴-بیتی، و همچنین آرشیوهای حاوی فایلهای ELF پشتیبانی میشوند.
این برنامه عملکردی مشابه objdump دارد، اما وارد جزئیات بیشتری میشود و مستقل از کتابخانه BFD عمل میکند؛ بنابراین اگر باگی در BFD وجود داشته باشد، readelf تحت تأثیر قرار نخواهد گرفت.
گزینهها (OPTIONS)
شکلهای کوتاه و بلند گزینهها، که در اینجا به عنوان جایگزین یکدیگر نشان داده شدهاند، معادل هستند. حداقل یک گزینه به جز -v یا -H باید مشخص شود.
- -a
- --all
- معادل با
مشخص کردن
--file-header، --program-headers،
--sections، --symbols، --relocs،
--dynamic، --notes،
--got-contents، --version-info،
--arch-specific، --unwind،
--section-groups و --histogram
است.
توجه - این گزینه به خودی خود --use-dynamic را فعال نمیکند، بنابراین اگر آن گزینه در خط فرمان مشخص نشده باشد، نمادهای پویا (dynamic symbols) و جابهجاییهای پویا (dynamic relocs) نمایش داده نخواهند شد.
- -h
- --file-header
- اطلاعات موجود در سرآیند ELF در ابتدای فایل را نمایش میدهد.
- -l
- --program-headers
- --segments
- اطلاعات موجود در سرآیندهای قطعه (segment headers) فایل را، در صورت وجود، نمایش میدهد.
- --quiet
- پیام تشخیصی "no symbols" را فرونشانی میکند.
- -S
- --sections
- --section-headers
- اطلاعات موجود در سرآیندهای بخش (section headers) فایل را، در صورت وجود، نمایش میدهد.
- -g
- --section-groups
- اطلاعات موجود در گروههای بخش (section groups) فایل را، در صورت وجود، نمایش میدهد.
- -t
- --section-details
- اطلاعات تفصیلی بخشها را نمایش میدهد. به طور ضمنی -S را فعال میکند.
- -s
- --symbols
- --syms
- ورودیهای بخش جدول نمادها (symbol table) را در صورت وجود در فایل، نمایش میدهد. اگر نمادی اطلاعات نسخه مرتبط داشته باشد، آن نیز نمایش داده میشود. رشته نسخه به عنوان یک پسوند برای نام نماد و پس از نویسه @ نمایش داده میشود؛ مانند foo@VER_1. اگر نسخه، نسخه پیشفرضی باشد که هنگام حل ارجاعات بدون نسخه به نماد به کار میرود، به صورت پسوندی پس از دو نویسه @ نمایش داده میشود؛ مانند foo@@VER_2.
- --dyn-syms
- ورودیهای بخش جدول نمادهای پویا (dynamic symbol table) را در صورت وجود در فایل، نمایش میدهد. قالب خروجی مشابه قالبی است که توسط گزینه --syms استفاده میشود.
- --lto-syms
- محتوای هرگونه جدول نماد LTO موجود در فایل را نمایش میدهد.
- --sym-base=[0|8|10|16]
- فیلد اندازه (size) در جدول نمادها را وادار به استفاده از مبنای مشخصشده میکند. هر گزینه ناشناخته به عنوان 0 تلقی خواهد شد. --sym-base=0 بیانگر رفتار پیشفرض و سنتی است. این حالت اندازهها را برای مقادیر کمتر از 100000 در مبنای دهدهی چاپ میکند. برای اندازههای 100000 و بیشتر، نمادگذاری هگزادسیمال با پیشوند 0x استفاده خواهد شد. --sym-base=8 اندازه نمادها را در مبنای هشت (octal) نمایش میدهد. --sym-base=10 همیشه اندازه نمادها را در مبنای ده (decimal) نمایش میدهد. --sym-base=16 همیشه اندازه نمادها را در مبنای شانزده (hexadecimal) با پیشوند 0x نمایش میدهد.
- -C
- --demangle[=style]
- نام نمادهای سطحپایین را به نامهای سطح کاربر رمزگشایی (demangle) میکند. این کار نام توابع C++ را خوانا میسازد. کامپایلرهای مختلف شیوههای متفاوتی برای درهمسازی (mangling) دارند. آرگومان اختیاری شیوه demangle کردن میتواند برای انتخاب شیوه مناسب با کامپایلر شما استفاده شود.
- --no-demangle
- نام نمادهای سطحپایین را demangle نمیکند. این حالت پیشفرض است.
- --recurse-limit
- --no-recurse-limit
- --recursion-limit
- --no-recursion-limit
- محدودیتی
را بر میزان
بازگشت (recursion)
انجامشده
هنگام demangle
کردن
رشتهها
فعال یا
غیرفعال
میکند. از
آنجا که
قالبهای
درهمسازی
نامها
سطوح
نامحدودی
از بازگشت
را مجاز
میدانند،
ممکن است
رشتههایی
ایجاد شوند
که
رمزگشایی
آنها تمام
فضای پشته (stack)
موجود در
ماشین
میزبان را
مصرف کرده و
باعث بروز
خطای حافظه
(memory fault) شود. این
محدودیت با
محدود کردن
بازگشت به 2048
سطح
تودرتویی
تلاش
میکند از
وقوع این
اتفاق
جلوگیری
کند.
حالت پیشفرض فعال بودن این محدودیت است، اما غیرفعال کردن آن ممکن است برای demangle کردن نامهای واقعاً پیچیده لازم باشد. با این حال توجه داشته باشید که اگر محدودیت بازگشت غیرفعال شود، اتمام فضای پشته ممکن است رخ دهد و هرگونه گزارش باگ در رابطه با چنین رخدادی رد خواهد شد.
- -U [d|i|l|e|x|h]
- --unicode=[default|invalid|locale|escape|hex|highlight]
- نمایش
نویسههای
غیر ASCII را در
نامهای
شناسه
کنترل
میکند.
حالت
پیشفرض
(--unicode=locale یا --unicode=default)
برخورد با
آنها به
عنوان
نویسههای
چندبایتی و
نمایش
آنها در
لوکال (locale)
فعلی است.
تمام
مقادیر
دیگر این
گزینه،
بایتها را
مقادیر
کُدگذاریشده
به صورت UTF-8
فرض کرده و
تلاش
میکنند
آنها را
تفسیر کنند.
اگر قابل
تفسیر
نباشند یا
اگر گزینه
--unicode=invalid
استفاده
شده باشد،
به صورت
دنبالهای
از
بایتهای
هگزادسیمال،
محصور در
میان
نویسههای
آکولاد
نمایش داده
میشوند.
استفاده از گزینه --unicode=escape نویسهها را به عنوان توالیهای گریز یونیکد (\uxxxx) نمایش میدهد. استفاده از --unicode=hex نویسهها را به صورت توالیهای بایت هگزادسیمال محصور در میان قلابهای زاویهدار نمایش خواهد داد.
استفاده از --unicode=highlight نویسهها را به صورت توالیهای گریز یونیکد نمایش میدهد، اما آنها را با رنگ قرمز نیز برجسته میکند، به شرطی که رنگآمیزی توسط دستگاه خروجی پشتیبانی شود. هدف از رنگآمیزی جلب توجه به حضور توالیهای یونیکد در شرایطی است که ممکن است انتظار آنها نرود.
- -X
- --extra-sym-info
- هنگام
نمایش
جزئیات
نمادها،
اطلاعات
اضافهای
را که به
طور معمول
ارائه
نمیشوند
شامل
میشود. در
حال حاضر
این گزینه
فقط نام
بخشی را که
توسط فیلد
نمایه (index)
نماد ارجاع
داده شده
است، در
صورت وجود،
اضافه
میکند. در
آینده با
فعال بودن
این گزینه
ممکن است
اطلاعات
بیشتری
نمایش داده
شود.
فعال کردن این گزینه در عمل گزینه --wide را نیز فعال میکند، حداقل هنگام نمایش اطلاعات نماد.
- --no-extra-sym-info
- اثر گزینه --extra-sym-info را غیرفعال میکند. این حالت پیشفرض است.
- -e
- --headers
- تمام سرآیندهای موجود در فایل را نمایش میدهد. معادل با -h -l -S است.
- -n
- محتویات قطعهها و/یا بخشهای NOTE را، در صورت وجود، نمایش میدهد.
- -r
- --relocs
- محتویات بخش بازنشانی (relocation) فایل را، در صورت وجود، نمایش میدهد.
- -u
- --unwind
- محتویات بخش unwind فایل را، در صورت وجود، نمایش میدهد. در حال حاضر فقط بخشهای unwind برای فایلهای ELF در IA64 و همچنین جدولهای unwind در ARM (".ARM.exidx" / ".ARM.extab") پشتیبانی میشوند. اگر پشتیبانی از معماری شما هنوز پیادهسازی نشده است، میتوانید رونوشت محتویات بخش .eh_frames را با استفاده از گزینههای --debug-dump=frames یا --debug-dump=frames-interp امتحان کنید.
- -d
- --dynamic
- محتویات بخش پویای (dynamic) فایل را، در صورت وجود، نمایش میدهد.
- -V
- --version-info
- محتویات بخشهای نگارش (version) در فایل را، در صورت وجود، نمایش میدهد.
- -A
- --arch-specific
- اطلاعات وابسته به معماری را در فایل، در صورت وجود، نمایش میدهد.
- -D
- --use-dynamic
- هنگام
نمایش
نمادها،
این گزینه
سبب میشود
readelf به جای
بخشهای
جدول
نمادها، از
جدولهای
درهمسازی
نماد در بخش
پویای فایل
استفاده
کند.
هنگام نمایش بازنشانیها، این گزینه سبب میشود readelf بازنشانیهای پویا را به جای بازنشانیهای ایستا نمایش دهد.
- -L
- --lint
- --enable-checks
- پیامهای هشدار دربارهٔ مشکلات احتمالی فایل(های) در حال بررسی را نمایش میدهد. اگر به تنهایی استفاده شود، تمام محتویات فایل(ها) بررسی خواهد شد. اگر همراه با یکی از گزینههای رونوشتگیری به کار رود، پیامهای هشدار تنها برای مواردی تولید میشوند که در حال نمایش هستند.
- -x <number or name>
- --hex-dump=<number or name>
- محتویات بخش مشخصشده را به صورت بایتهای شانزدهشانزدهی (هگزادسیمال) نمایش میدهد. یک عدد، بخش خاصی را بر اساس نمایه در جدول بخشها مشخص میکند؛ هر رشتهٔ دیگری تمام بخشهای دارای آن نام در فایل شیء (object file) را مشخص میکند. این گزینه میتواند چندین بار در خط فرمان تکرار شود تا چندین رونوشت هگز درخواست گردد.
- -R <number or name>
- --relocated-dump=<number or name>
- محتویات بخش مشخصشده را به صورت بایتهای شانزدهشانزدهی (هگزادسیمال) نمایش میدهد. یک عدد، بخش خاصی را بر اساس نمایه در جدول بخشها مشخص میکند؛ هر رشتهٔ دیگری تمام بخشهای دارای آن نام در فایل شیء را مشخص میکند. محتویات بخش پیش از نمایش بازنشانی خواهند شد. این گزینه میتواند چندین بار در خط فرمان تکرار شود تا چندین رونوشت بازنشانیشده درخواست گردد.
- -p <number or name>
- --string-dump=<number or name>
- محتویات بخش مشخصشده را به عنوان رشتههای قابل چاپ نمایش میدهد. یک عدد، بخش خاصی را بر اساس نمایه در جدول بخشها مشخص میکند؛ هر رشتهٔ دیگری تمام بخشهای دارای آن نام در فایل شیء را مشخص میکند. این گزینه میتواند چندین بار در خط فرمان تکرار شود تا چندین رونوشت رشتهای درخواست گردد.
- -j <number or name>
- --display-section
- محتویات
بخش
مشخصشده
را بر اساس
نوع سرآیند
بخش نمایش
میدهد.
بخشهای
حاوی
بازنشانیها
به گونهای
نمایش داده
میشوند که
گویی از
گزینهٔ --relocations
استفاده
شده است،
بخشهای
حاوی
نمادها به
گونهای
نمایش داده
میشوند که
گویی
گزینهٔ --syms
به کار رفته
است و به
همین ترتیب.
یک عدد، بخش خاصی را بر اساس نمایه در جدول بخشها مشخص میکند؛ هر رشتهٔ دیگری تمام بخشهای دارای آن نام در فایل(های) ورودی را مشخص میکند.
این گزینه میتواند چندین بار در خط فرمان تکرار شود تا چندین رونوشت بخش درخواست گردد.
- -z
- --decompress
- درخواست میکند بخش(هایی) که توسط گزینههای x، R یا p رونوشت گرفته میشوند، قبل از نمایش از حالت فشرده خارج شوند. اگر بخش(ها) فشرده نباشند، همانگونه که هستند نمایش داده میشوند.
- -c
- --archive-index
- اطلاعات نمایهٔ نماد فایل موجود در بخش سرآیند بایگانیهای باینری را نمایش میدهد. همان کارکرد دستور t در ar را انجام میدهد، اما بدون استفاده از کتابخانهٔ BFD.
- -w[lLiaprmfFsOoRtUuTgAckK]
- --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]
- محتویات بخشهای اشکالزدایی DWARF را در فایل، در صورت وجود، نمایش میدهد. بخشهای اشکالزدایی فشردهشده پیش از نمایش، به صورت خودکار (موقتی) از حالت فشرده خارج میشوند. اگر یک یا چند حرف یا کلمهٔ اختیاری پس از سوئیچ بیاید، تنها همان نوع از دادهها رونوشت گرفته خواهند شد. حروف و کلمات به اطلاعات زیر اشاره دارند:
- "a"
- "=abbrev"
- محتویات بخش .debug_abbrev را نمایش میدهد.
- "A"
- "=addr"
- محتویات بخش .debug_addr را نمایش میدهد.
- "c"
- "=cu_index"
- محتویات بخشهای .debug_cu_index و/یا .debug_tu_index را نمایش میدهد.
- "f"
- "=frames"
- محتویات خام بخش .debug_frame را نمایش میدهد.
- "F"
- "=frames-interp"
- محتویات تفسیرشدهٔ بخش .debug_frame را نمایش میدهد.
- "g"
- "=gdb_index"
- محتویات بخشهای .gdb_index و/یا .debug_names را نمایش میدهد.
- "i"
- "=info"
- محتویات بخش .debug_info را نمایش میدهد. نکته: خروجی حاصل از این گزینه میتواند با استفاده از گزینههای --dwarf-depth و --dwarf-start نیز محدود شود.
- "k"
- "=links"
- محتویات بخشهای .gnu_debuglink، .gnu_debugaltlink و .debug_sup را در صورت وجود هر یک از آنها، نمایش میدهد. همچنین پیوندها به فایلهای شیء مجزای DWARF (dwo) را در صورتی که توسط مشخصههای DW_AT_GNU_dwo_name یا DW_AT_dwo_name در بخش .debug_info تعیین شده باشند، نمایش میدهد.
- "K"
- "=follow-links"
- محتویات هر
بخش
اشکالزدایی
گزینششدهای
را که در
فایل(های)
مجزا و
پیوندخوردهٔ
اطلاعات
اشکالزدایی
یافت شود،
نمایش
میدهد. اگر
یک بخش
اشکالزدایی
در بیش از
یک فایل
وجود داشته
باشد، این
کار
میتواند
منجر به
نمایش
نگارشهای
متعددی از
همان بخش
شود.
علاوه بر این، هنگام نمایش مشخصههای DWARF، اگر فرمی پیدا شود که به فایل مجزای اطلاعات اشکالزدایی ارجاع میدهد، محتویات ارجاعشده نیز نمایش داده خواهد شد.
نکته - در برخی توزیعها این گزینه بهطور پیشفرض فعال است. میتوان آن را از طریق گزینهٔ اشکالزدایی N غیرفعال کرد. پیشفرض را میتوان هنگام پیکربندی binutils از طریق گزینههای --enable-follow-debug-links=yes یا --enable-follow-debug-links=no تعیین کرد. اگر از این گزینهها استفاده نشود، پیشفرض فعال بودن دنبال کردن پیوندهای اشکالزدایی است.
نکته - اگر پشتیبانی از پروتکل debuginfod در هنگام ساخت binutils فعال شده باشد، این گزینه تلاشی برای برقراری ارتباط با کارگزارهای debuginfod ذکرشده در متغیر محیطی DEBUGINFOD_URLS را نیز در بر خواهد داشت. این کار ممکن است مدتی زمان ببرد. این رفتار را میتوان از طریق گزینهٔ اشکالزدایی =do-not-use-debuginfod غیرفعال کرد.
- "N"
- "=no-follow-links"
- دنبال کردن پیوندها به فایلهای مجزای اطلاعات اشکالزدایی را غیرفعال میکند.
- "D"
- "=use-debuginfod"
- در صورت نیاز به دنبال کردن پیوندهای اشکالزدایی، برقراری ارتباط با کارگزارهای debuginfod را فعال میکند. این رفتار پیشفرض است.
- "E"
- "=do-not-use-debuginfod"
- هنگام نیاز به دنبال کردن پیوندهای اشکالزدایی، برقراری ارتباط با کارگزارهای debuginfod را غیرفعال میکند.
- "l"
- "=rawline"
- محتویات بخش .debug_line را در قالب خام نمایش میدهد.
- "L"
- "=decodedline"
- محتویات تفسیرشدهٔ بخش .debug_line را نمایش میدهد.
- "m"
- "=macro"
- محتویات بخشهای .debug_macro و/یا .debug_macinfo را نمایش میدهد.
- "o"
- "=loc"
- محتویات بخشهای .debug_loc و/یا .debug_loclists را نمایش میدهد.
- "O"
- "=str-offsets"
- محتویات بخش .debug_str_offsets را نمایش میدهد.
- "p"
- "=pubnames"
- محتویات بخشهای .debug_pubnames و/یا .debug_gnu_pubnames را نمایش میدهد.
- "r"
- "=aranges"
- محتویات بخش .debug_aranges را نمایش میدهد.
- "R"
- "=Ranges"
- محتویات بخشهای .debug_ranges و/یا .debug_rnglists را نمایش میدهد.
- "s"
- "=str"
- محتویات بخشهای .debug_str، .debug_line_str و/یا .debug_str_offsets را نمایش میدهد.
- "t"
- "=pubtype"
- محتویات بخشهای .debug_pubtypes و/یا .debug_gnu_pubtypes را نمایش میدهد.
- "T"
- "=trace_aranges"
- محتویات بخش .trace_aranges را نمایش میدهد.
- "u"
- "=trace_abbrev"
- محتویات بخش .trace_abbrev را نمایش میدهد.
- "U"
- "=trace_info"
- محتویات بخش .trace_info را نمایش میدهد.
نکته: نمایش محتویات بخشهای .debug_static_funcs، .debug_static_vars و debug_weaknames در حال حاضر پشتیبانی نمیشود. تخلیهٔ (dump) بخش ".debug_info" را به n فرزند محدود میکند. این گزینه تنها همراه با --debug-dump=info کاربرد دارد. مقدار پیشفرض، چاپ تمام DIEها است؛ مقدار ویژهٔ 0 برای n نیز همین اثر را خواهد داشت.
با یک مقدار غیرصفر برای n، DIEهایی که در سطح n یا عمیقتر از آن قرار دارند چاپ نخواهند شد. محدودهٔ n بر پایهٔ صفر است.
- --dwarf-start=n
- تنها DIEهایی
را چاپ
میکند که
با DIE شمارهٔ
n آغاز
میشوند.
این گزینه
تنها همراه
با --debug-dump=info
کاربرد
دارد.
در صورت تعیین، این گزینه از چاپ هرگونه اطلاعات سرآیند و تمام DIEهای قبل از DIE شمارهٔ n جلوگیری میکند. تنها همسطحها (siblings) و فرزندان DIE مشخصشده چاپ خواهند شد.
این گزینه میتواند همراه با --dwarf-depth به کار رود.
- --debug-dir=dir
- هنگام جستجو برای فایلهای اطلاعات اشکالزدایی جداگانه، دایرکتوری dir را جستجو میکند.
- -P
- --process-links
- محتویات بخشهای غیر اشکالزدایی (non-debug) یافتشده در فایلهای debuginfo جداگانهای را که به فایل اصلی پیوند دارند نمایش میدهد. این گزینه بهطور خودکار گزینهٔ -wK را فعال میکند، و تنها بخشهایی که توسط دیگر گزینههای خط فرمان درخواست شدهاند نمایش داده خواهند شد.
- --ctf[=section]
- محتویات
بخش CTF
مشخصشده
را نمایش
میدهد.
بخشهای CTF
خود شامل
زیربخشهای
متعددی
هستند که
همگی به
ترتیب
نمایش داده
میشوند.
بهطور پیشفرض، بخشی با نام .ctf را نمایش میدهد که نام تولیدشده توسط ld است.
- --ctf-parent=member
- اگر بخش CTF شامل انواعی با تعریف مبهم باشد، از یک آرشیو شامل چندین فرهنگنامهٔ (dictionary) CTF تشکیل خواهد شد که همگی از یک فرهنگنامهٔ حاوی انواع غیرمبهم ارثبری میکنند. این عضو بهطور پیشفرض مانند بخشی که شامل آن است .ctf نام دارد، اما میتوان این نام را در زمان پیوند با استفاده از تابع "ctf_link_set_memb_name_changer" تغییر داد. هنگام بررسی آرشیوهای CTF که توسط یک پیونددهنده با استفاده از تغییردهندهٔ نام برای تغییر نام عضو آرشیو والد ایجاد شدهاند، میتوان از --ctf-parent برای مشخص کردن نام استفادهشده برای والد استفاده کرد.
- --ctf-parent-section=section
- این گزینه به شما امکان میدهد برای فرهنگنامهٔ والد CTF حاوی انواع غیرمبهم، بخشی کاملاً متفاوت از فرهنگنامههای فرزند که شامل باقیماندههای مبهم هستند انتخاب کنید. پیونددهنده اشیاء ELF را با چنین ساختاری تولید نمیکند، اما برخی پیونددهندههای شخص ثالث ممکن است این کار را انجام دهند. همچنین این گزینه برای بررسی CTFهایی که به عنوان چندین فایل خام نوشته شدهاند تا با objcopy ترکیب شوند مفید است؛ چرا که objcopy میتواند آنها را در بخشهای مختلف ELF قرار دهد اما نه در اعضای مختلف یک فرهنگنامهٔ واحد CTF.
- --ctf-symbols=section
- --ctf-strings=section
- نام بخش
دیگری را
مشخص
میکند که
فایل CTF
میتواند
رشتهها و
نمادها را
از آن به
ارث ببرد.
بهطور
پیشفرض،
".symtab" و
جدول رشتهٔ
پیوندیافته
به آن
استفاده
میشوند.
اگر هر یک از گزینههای --ctf-symbols یا --ctf-strings مشخص شود، دیگری نیز باید حتماً تعیین گردد.
- --got-contents
- محتویات بخشهای Global Offset Table (GOT) فایل را در صورت وجود نمایش میدهد. برای MIPS، این گزینه مشابه --arch-specific است، اما تنها محتویات مربوط به GOT را نمایش میدهد و در صورت استفاده از --arch-specific نادیده گرفته میشود.
- -I
- --histogram
- هنگام نمایش محتویات جدولهای نماد، یک هیستوگرام از طول فهرستهای bucket نمایش میدهد.
- -v
- --version
- شمارهٔ نسخهٔ readelf را نمایش میدهد.
- -W
- --wide
- خطوط خروجی را برای جا شدن در ۸۰ ستون نمیشکند. بهطور پیشفرض، readelf خطوط فهرست سرآیند بخشها و قطعهها (segment) را برای فایلهای ELF ۶۴ بیتی میشکند تا در ۸۰ ستون جا شوند. این گزینه باعث میشود که readelf هر سرآیند بخش یا هر قطعه را در یک خط تکی چاپ کند، که در پایانههای عریضتر از ۸۰ ستون بسیار خواناتر است.
- -T
- --silent-truncation
- بهطور معمول زمانی که readelf در حال نمایش نام یک نماد است و مجبور است نام را برای جا شدن در یک نمایشگر ۸۰ ستونی کوتاه کند، پسوند "[...]" را به انتهای نام اضافه میکند. این گزینهٔ خط فرمان این رفتار را غیرفعال کرده و اجازه میدهد ۵ نویسهٔ بیشتر از نام نمایش یابد و رفتار پیشین readelf (پیش از نسخهٔ 2.35) را بازمیگرداند.
- -H
- --help
- گزینههای خط فرمان قابل فهم برای readelf را نمایش میدهد.
- @file
- گزینههای
خط فرمان را
از file
میخواند.
گزینههای
خواندهشده
به جای
گزینهٔ
اصلی @file درج
میشوند.
اگر file وجود
نداشته
باشد یا
قابل
خواندن
نباشد، با
این گزینه
به صورت
تحتاللفظی
برخورد شده
و حذف
نخواهد شد.
گزینهها در file با نویسههای فاصلهٔ خالی (whitespace) از یکدیگر جدا میشوند. یک نویسهٔ فاصلهٔ خالی میتواند با قرار دادن کل گزینه در نقلقول تکی یا دوتایی درون یک گزینه گنجانده شود. هر نویسهای (از جمله بکاسلش) میتواند با پیشوند کردن یک بکاسلش قبل از آن نویسه درج گردد. خود file میتواند شامل گزینههای اضافی @file باشد؛ چنین گزینههایی بهصورت بازگشتی پردازش خواهند شد..SH "همچنین ببینید (SEE ALSO)" objdump(1)، و مدخلهای Info برای binutils.
کپیرایت و تکثیر (COPYRIGHT)
کپیرایت (c) 1991-2026 Free Software Foundation, Inc.
اجازه کپی، توزیع و/یا تغییر این سند تحت شرایط «مجوز مستندات آزاد گنو» (GNU Free Documentation License)، نسخه 1.3 یا هر نسخه بعدی منتشر شده توسط Free Software Foundation اعطا میشود؛ بدون هیچ بخش نامتغیر (Invariant Sections)، بدون متون روی جلد (Front-Cover Texts)، و بدون متون پشت جلد (Back-Cover Texts). نسخهای از این مجوز در بخشی تحت عنوان "GNU Free Documentation License" گنجانده شده است.
| 2026-08-26 | binutils-2.47 |