| 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[lLiaprmfFsoORtUuTgAck]|
--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]]
[-wK|--debug-dump=follow-links]
[-wN|--debug-dump=no-follow-links]
[-wD|--debug-dump=use-debuginfod]
[-wE|--debug-dump=do-not-use-debuginfod]
[-P|--process-links]
[--dwarf-depth=n]
[--dwarf-start=n]
[--ctf=section]
[--ctf-parent=section]
[--ctf-symbols=section]
[--ctf-strings=section]
[--sframe=section]
[-I|--histogram]
[-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،
--version-info، --arch-specific،
--unwind، --section-groups و
--histogram است.
نکته - این گزینه به خودی خود --use-dynamic را فعال نمیکند، بنابراین اگر آن گزینه در خط فرمان مشخص نشده باشد، نمادهای پویا و جابهجاییهای پویا (dynamic relocs) نمایش داده نخواهند شد.
- -h
- --file-header
- اطلاعات موجود در سرایند (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
- درایههای موجود در بخش جدول نمادهای پویای فایل را، در صورت وجود، نمایش میدهد. قالب خروجی همانند قالب مورد استفاده در گزینهٔ --syms است.
- --lto-syms
- محتوای هرگونه جدول نمادهای LTO را در فایل نمایش میدهد.
- --sym-base=[0|8|10|16]
- فیلد اندازه در جدول نمادها را وادار به استفاده از مبنای مشخصشده میکند. هر گزینهٔ ناشناخته به عنوان 0 در نظر گرفته میشود. گزینهٔ --sym-base=0 نشاندهندهٔ رفتار پیشفرض و سنتی است؛ در این حالت، اندازهها برای مقادیر کمتر از ۱۰۰۰۰۰ در مبنای دهدهی و برای مقادیر ۱۰۰۰۰۰ و بیشتر با نمادگذاری شانزدهشانزدهی (هگزادسیمال) همراه با پیشوند 0x نمایش داده میشوند. --sym-base=8 اندازهٔ نمادها را در مبنای هشت (اکتال) ارائه میدهد. --sym-base=10 همواره اندازهٔ نمادها را در مبنای ده (دهدهی) ارائه میدهد. --sym-base=16 همواره اندازهٔ نمادها را در مبنای شانزده با پیشوند 0x ارائه میدهد.
- -C
- --demangle[=style]
- نامهای سطح پایین نمادها را به نامهای سطح کاربر رمزگشایی (demangle) میکند. این کار نام توابع ++C را خوانا میسازد. کامپایلرهای مختلف شیوههای متفاوتی برای درهمسازی نامها (mangling) دارند. از آرگومان اختیاری شیوه میتوان برای انتخاب شیوهٔ مناسب کدگشایی متناسب با کامپایلر خود استفاده کرد.
- --no-demangle
- نامهای سطح پایین نمادها را رمزگشایی نمیکند. این حالت پیشفرض است.
- --recurse-limit
- --no-recurse-limit
- --recursion-limit
- --no-recursion-limit
- محدودیت
میزان
بازگشت (recursion)
انجامشده
هنگام
رمزگشایی
رشتهها را
فعال یا
غیرفعال
میکند. از
آنجا که
ساختارهای
درهمسازی
نامها
سطوح
نامحدودی
از بازگشت
را مجاز
میدانند،
ممکن است
رشتههایی
تولید شوند
که
رمزگشایی
آنها تمام
فضای پشتهٔ
(stack) موجود در
دستگاه
میزبان را
تمام کرده و
موجب بروز
خطای حافظه
(memory fault) شود. این
محدودیت با
محدود کردن
بازگشت به
۲۰۴۸ سطح
تودرتو،
سعی میکند
از این
رخداد
پیشگیری
کند.
به طور پیشفرض این محدودیت فعال است، اما برای رمزگشایی نامهای واقعاً پیچیده ممکن است غیرفعال کردن آن ضروری باشد. توجه داشته باشید که در صورت غیرفعال کردن محدودیت بازگشت، امکان اتمام فضای پشته وجود دارد و هرگونه گزارش باگ در مورد چنین پیشامدی رد خواهد شد.
- -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 را نیز عملاً فعال میکند..IP --no-extra-sym-info 4 تأثیر گزینهٔ --extra-sym-info را غیرفعال میکند. این حالت پیشفرض است.
- -e
- --headers
- تمام سرآیندهای موجود در فایل را نمایش میدهد. معادل با -h -l -S است.
- -n
- --notes
- محتوای قطعهها و/یا بخشهای NOTE را در صورت وجود نمایش میدهد.
- -r
- --relocs
- محتوای بخش بازآرایی (relocation) فایل را در صورت وجود نمایش میدهد.
- -u
- --unwind
- محتوای بخش unwind فایل را در صورت وجود نمایش میدهد. در حال حاضر تنها بخشهای unwind برای فایلهای IA64 ELF و جدولهای 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
به جای
بخشهای
جدول نماد،
از
جدولهای
درهمسازی
نماد در بخش
dynamic فایل
استفاده
کند.
هنگام نمایش بازآراییها، این گزینه باعث میشود readelf بازآراییهای پویا را به جای بازآراییهای ایستا نمایش دهد.
- -L
- --lint
- --enable-checks
- پیامهای هشداری را دربارهٔ مشکلات احتمالی فایل(های) در حال بررسی نمایش میدهد. اگر بهتنهایی استفاده شود، تمام محتویات فایل(ها) بررسی خواهد شد. اگر همراه با یکی از گزینههای تخلیه استفاده شود، پیامهای هشدار تنها برای مواردی تولید میشوند که نمایش داده میشوند.
- -x <number or name>
- --hex-dump=<number or name>
- محتوای بخش مشخصشده را به صورت بایتهای هگزادسیمال نمایش میدهد. یک عدد، بخش خاصی را با اندیس در جدول بخشها مشخص میکند؛ هر رشتهٔ دیگر، تمام بخشهای با آن نام را در فایل شیء مشخص میکند. این گزینه میتواند چندین بار در خط فرمان تکرار شود تا چندین تخلیهٔ هگزادسیمال درخواست شود.
- -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 انتخاب کرد. اگر از این موارد استفاده نشود، حالت پیشفرض، فعال بودن دنبالکردن پیوندهای دیباگ است.
نکته - اگر هنگام ساخت binutils پشتیبانی از پروتکل debuginfod فعال شده باشد، این گزینه شامل تلاشی برای برقراری ارتباط با هر یک از سرورهای 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 در حال حاضر پشتیبانی نمیشود.
- --dwarf-depth=n
- تخلیهٔ (dump)
بخش ".debug_info"
را به n
فرزند
محدود
میکند. این
گزینه فقط
با --debug-dump=info
کاربرد
دارد. حالت
پیشفرض،
چاپ تمام
DIEها است؛
مقدار
ویژهٔ 0
برای n نیز
همین اثر را
خواهد داشت.
با یک مقدار غیر صفر برای n، نمادهای DIE در عمق برابر یا عمیقتر از n سطح چاپ نخواهند شد. محدودهٔ n بر پایهٔ صفر (zero-based) است.
- --dwarf-start=n
- تنها DIEهایی
را چاپ
میکند که
با DIE شمارهٔ
n آغاز
میشوند.
این گزینه
فقط همراه
با --debug-dump=info مفید
است.
در صورت مشخص شدن، این گزینه از چاپ هرگونه اطلاعات سرآیند و تمام DIEهای پیش از DIE شمارهٔ n جلوگیری میکند. فقط همتاها (siblings) و فرزندان DIE تعیینشده چاپ خواهند شد.
این گزینه میتواند همراه با --dwarf-depth استفاده شود.
- -P
- --process-links
- محتویات بخشهای غیرخطایابی (non-debug) یافتشده در فایلهای debuginfo مجزا که به فایل اصلی پیوند داده شدهاند را نمایش میدهد. این گزینه بهطور خودکار مستلزم گزینهٔ -wK است، و تنها بخشهایی که توسط گزینههای دیگر خط فرمان درخواست شده باشند نمایش داده خواهند شد.
- --ctf[=section]
- محتویات
بخش CTF
مشخصشده
را نمایش
میدهد.
بخشهای CTF
خود شامل
زیربخشهای
زیادی
هستند که
همگی به
ترتیب
نمایش داده
میشوند.
بهطور پیشفرض، بخشی با نام .ctf را که همان نام ایجادشده توسط ld است نمایش میدهد.
- --ctf-parent=member
- اگر بخش CTF حاوی انواع مبهم تعریفشده باشد، از یک آرشیو متشکل از دیکشنریهای 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 مشخص شود، دیگری نیز باید مشخص گردد.
- -I
- --histogram
- هنگام نمایش محتویات جدولهای نماد، یک نمودار فراوانی (هیستوگرام) از طول فهرست سطلها (bucket list) را نمایش میدهد.
- -v
- --version
- شمارهٔ نسخهٔ readelf را نمایش میدهد.
- -W
- --wide
- خطوط خروجی را برای جا شدن در 80 ستون نمیشکند. بهطور پیشفرض، readelf خطوط فهرست سرآیند بخشها و قطعهها را برای فایلهای ELF ۶۴ بیتی میشکند تا در 80 ستون جا شوند. این گزینه باعث میشود که readelf هر سرآیند بخش و هر قطعه را به ترتیب در یک خط واحد چاپ کند، که در پایانههای عریضتر از 80 ستون بسیار خواناتر است.
- -T
- --silent-truncation
- بهطور معمول هنگامی که readelf در حال نمایش نام یک نماد است و مجبور است نام را برای جا شدن در یک نمایشگر 80 ستونی کوتاه کند، پسوند "[...]" را به نام میافزاید. این گزینهٔ خط فرمان این رفتار را غیرفعال کرده و اجازه میدهد 5 نویسهٔ دیگر از نام نمایش داده شود و رفتار قدیمی readelf (پیش از نگارش 2.35) بازیابی گردد..IP -H 4
- --help
- گزینههای خط فرمان قابل درک برای readelf را نمایش میدهد.
- @file
- گزینههای
خط فرمان را
از file
میخواند.
گزینههای
خواندهشده
بهجای
گزینه اصلی
@file جایگزین
میشوند.
اگر file وجود
نداشته
باشد یا
قابل
خواندن
نباشد، با
آن گزینه
بهصورت
تحتاللفظی
برخورد شده
و حذف
نخواهد شد.
گزینهها در file با فاصلههای خالی (whitespace) از یکدیگر جدا میشوند. یک نویسه فاصله خالی میتواند با احاطه کردن کل گزینه در علامتهای نقلقول تکی یا دوتایی درون یک گزینه قرار گیرد. هر نویسهای (از جمله بکاسلش) را میتوان با پیشوند قرار دادن یک بکاسلش قبل از آن درج کرد. خود file ممکن است شامل گزینههای @file دیگری باشد؛ هر یک از این گزینهها بهصورت بازگشتی پردازش خواهند شد.
همچنین ببینید (SEE ALSO)
objdump(1) و مدخلهای Info برای binutils.
کپیرایت و تکثیر (COPYRIGHT)
کپیرایت (c) 1991-2025 متعلق به Free Software Foundation, Inc. است.
اجازه کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخه 1.3 یا هر نسخه بالاتر منتشر شده توسط بنیاد نرمافزارهای آزاد (Free Software Foundation)؛ بدون بخشهای تغییرناپذیر، بدون متون روی جلد و بدون متون پشت جلد اعطا میشود. نسخهای از این مجوز در بخشی با عنوان "GNU Free Documentation License" گنجانده شده است.
| 2026-01-23 | binutils-2.45.1 |