| 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
اطلاعات
مربوط به یک
یا چند فایل
شیء در قالب
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 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
- ورودیهای موجود در بخش جدول نمادهای فایل را، در صورت وجود، نمایش میدهد. اگر نمادی دارای اطلاعات نگارش باشد، آن اطلاعات نیز نمایش داده میشود. رشتهٔ نگارش به صورت پسوندی برای نام نماد نمایش مییابد که قبل از آن یک نویسهٔ @ قرار میگیرد؛ به عنوان مثال 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 اندازهٔ نمادها را در مبنای هشت (octal) نمایش میدهد. --sym-base=10 همواره اندازهٔ نمادها را در مبنای دهدهی نمایش میدهد. --sym-base=16 همواره اندازهٔ نمادها را به صورت هگزادسیمال همراه با پیشوند 0x نمایش میدهد.
- -C
- --demangle[=style]
- نامهای نماد سطحپایین را به نامهای سطحکاربر رمزگشایی (demangle) میکند. این کار نام توابع ++C را خوانا میسازد. کامپایلرهای مختلف از شیوههای درهمسازی (mangling) گوناگونی استفاده میکنند. از آرگومان اختیاری شیوهٔ رمزگشایی میتوان برای انتخاب شیوهٔ مناسب برای کامپایلر مورد نظر بهره برد.
- --no-demangle
- نامهای نماد سطحپایین را رمزگشایی (demangle) نمیکند. این حالت پیشفرض است.
- --recurse-limit
- --no-recurse-limit
- --recursion-limit
- --no-recursion-limit
- محدودیتی
را بر میزان
بازگشت (recursion)
مجاز هنگام
رمزگشایی
رشتهها
فعال یا
غیرفعال
میکند. از
آنجا که
قالبهای mangling
امکان
ایجاد سطوح
نامحدودی
از بازگشت
را فراهم
میسازند،
ممکن است
رشتههایی
تولید شوند
که
رمزگشایی
آنها تمام
فضای پشتهٔ
(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
- هنگام
نمایش
جزئیات
نمادها،
اطلاعات
اضافی را که
معمولاً
نمایش داده
نمیشوند،
لحاظ
میکند. در
حال حاضر
این گزینه
تنها نام
بخشی را که
توسط فیلد
شاخص نماد
ارجاع داده
شده است، در
صورت وجود،
اضافه
میکند. در
آینده ممکن
است با فعال
بودن این
گزینه
اطلاعات
بیشتری
نمایش داده
شود.
فعال کردن این گزینه دستکم هنگام نمایش اطلاعات نمادها، عملاً گزینهٔ --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، و همچنین جدولهای بازپیچی 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>
- محتوای بخش مشخصشده را بهصورت بایتهای هگزادسیمال نمایش میدهد. یک عدد، بخش مشخصی را بر اساس اندیس در جدول بخشها مشخص میکند؛ هر رشتهٔ دیگری، تمامی بخشهای دارای آن نام در فایل شیء را مشخص میسازد. این گزینه میتواند چندین بار در خط فرمان تکرار شود تا چندین تخلیهٔ هگزادسیمال درخواست شود.
- -R <number or name>
- --relocated-dump=<number or name>
- محتوای بخش مشخصشده را بهصورت بایتهای هگزادسیمال نمایش میدهد. یک عدد، بخش مشخصی را بر اساس اندیس در جدول بخشها مشخص میکند؛ هر رشتهٔ دیگری، تمامی بخشهای دارای آن نام را در فایل شیء مشخص میسازد. محتویات بخش پیش از نمایش، بازآرایی (relocate) خواهند شد. این گزینه میتواند چندین بار در خط فرمان تکرار شود تا چندین تخلیهٔ بازآراییشده درخواست شود.
- -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 در حال حاضر پشتیبانی نمیشود.
- --dwarf-depth=n
- تخلیهٔ
اطلاعات
بخش ".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 جلوگیری میکند. تنها همسطحها و فرزندان 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
- هنگام نمایش محتویات جدولهای نماد، یک نمودار فراوانی (هیستوگرام) از طول فهرست باکتها را نمایش میدهد.
- -v
- --version
- شماره نگارش readelf را نمایش میدهد.
- -W
- --wide
- خطوط خروجی را برای جا شدن در ۸۰ ستون نمیشکند. بهطور پیشفرض readelf خطوط فهرستبندی سرآیند بخشها و قطعهها را برای فایلهای ELF ۶۴-بیتی میشکند تا در ۸۰ ستون جا شوند. این گزینه باعث میشود که readelf هر سرآیند بخش یا به نوبهٔ خود هر قطعه را در یک خط واحد چاپ کند، که در پایانههای عریضتر از ۸۰ ستون بسیار خواناتر است.
- -T
- --silent-truncation
- در حالت عادی وقتی readelf نام یک نماد را نمایش میدهد، و برای جا شدن در یک نمایشگر ۸۰ ستونی مجبور به کوتاه کردن نام است، پسوند "[...]" را به نام اضافه میکند. این گزینهٔ خط فرمان این رفتار را غیرفعال کرده و اجازه میدهد ۵ نویسهٔ بیشتر از نام نمایش داده شود و رفتار قدیمی readelf (قبل از انتشار 2.35) را بازمیگرداند..IP -H 4
- --help
- نمایش گزینههای خط فرمان شناختهشده توسط readelf.
- @file
- خواندن
گزینههای
خط فرمان از
file.
گزینههای
خواندهشده
به جای
گزینه اصلی
@file جایگزین
میشوند.
اگر file وجود
نداشته
باشد یا
قابل
خواندن
نباشد، با
آن گزینه به
صورت
تحتاللفظی
رفتار شده و
حذف نخواهد
شد.
گزینهها در file با نویسه فاصله از یکدیگر جدا میشوند. یک نویسه فاصله را میتوان با محصور کردن کل گزینه در علامتهای نقلقول تکی یا دوگانه در گزینه گنجاند. هر نویسهای (از جمله بکاسلش) را میتوان با قرار دادن یک بکاسلش به عنوان پیشوند قبل از آن درج کرد. خود file نیز ممکن است شامل گزینههای @file بیشتری باشد؛ چنین گزینههایی بهصورت بازگشتی پردازش خواهند شد.
همچنین ببینید (SEE ALSO)
objdump(1) و مدخلهای Info برای binutils.
کپیرایت و تکثیر (COPYRIGHT)
Copyright (c) 1991-2025 Free Software Foundation, Inc.
مجوز کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخهٔ 1.3 یا هر نسخهٔ متأخرتر منتشر شده توسط بنیاد نرمافزارهای آزاد اعطا میشود؛ بدون بخشهای ناوردا، بدون متون روی جلد، و بدون متون پشت جلد. نسخهای از این مجوز در بخشی با عنوان “GNU Free Documentation License” آورده شده است.
| 2026-01-23 | binutils-2.45.1 |