.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "READELF 1" .TH READELF 1 2026-01-23 binutils-2.45.1 "GNU Development Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" riscv32-elf-readelf \- نمایش اطلاعات مربوط به فایل‌های ELF .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" readelf [\fB\-a\fR|\fB\-\-all\fR] [\fB\-h\fR|\fB\-\-file\-header\fR] [\fB\-l\fR|\fB\-\-program\-headers\fR|\fB\-\-segments\fR] [\fB\-S\fR|\fB\-\-section\-headers\fR|\fB\-\-sections\fR] [\fB\-g\fR|\fB\-\-section\-groups\fR] [\fB\-t\fR|\fB\-\-section\-details\fR] [\fB\-e\fR|\fB\-\-headers\fR] [\fB\-s\fR|\fB\-\-syms\fR|\fB\-\-symbols\fR] [\fB\-\-dyn\-syms\fR|\fB\-\-lto\-syms\fR] [\fB\-\-sym\-base=[0|8|10|16]\fR] [\fB\-\-demangle\fR\fI=style\fR|\fB\-\-no\-demangle\fR] [\fB\-\-quiet\fR] [\fB\-\-recurse\-limit\fR|\fB\-\-no\-recurse\-limit\fR] [\fB\-U\fR \fImethod\fR|\fB\-\-unicode=\fR\fImethod\fR] [\fB\-X\fR|\fB\-\-extra\-sym\-info\fR|\fB\-\-no\-extra\-sym\-info\fR] [\fB\-n\fR|\fB\-\-notes\fR] [\fB\-r\fR|\fB\-\-relocs\fR] [\fB\-u\fR|\fB\-\-unwind\fR] [\fB\-d\fR|\fB\-\-dynamic\fR] [\fB\-V\fR|\fB\-\-version\-info\fR] [\fB\-A\fR|\fB\-\-arch\-specific\fR] [\fB\-D\fR|\fB\-\-use\-dynamic\fR] [\fB\-L\fR|\fB\-\-lint\fR|\fB\-\-enable\-checks\fR] [\fB\-x\fR |\fB\-\-hex\-dump=\fR] [\fB\-p\fR |\fB\-\-string\-dump=\fR] [\fB\-R\fR |\fB\-\-relocated\-dump=\fR] [\fB\-j\fR |\fB\-\-display\-section=\fR] [\fB\-z\fR|\fB\-\-decompress\fR] [\fB\-c\fR|\fB\-\-archive\-index\fR] [\fB\-w[lLiaprmfFsoORtUuTgAck]\fR| \fB\-\-debug\-dump\fR[=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]] [\fB\-wK\fR|\fB\-\-debug\-dump=follow\-links\fR] [\fB\-wN\fR|\fB\-\-debug\-dump=no\-follow\-links\fR] [\fB\-wD\fR|\fB\-\-debug\-dump=use\-debuginfod\fR] [\fB\-wE\fR|\fB\-\-debug\-dump=do\-not\-use\-debuginfod\fR] [\fB\-P\fR|\fB\-\-process\-links\fR] [\fB\-\-dwarf\-depth=\fR\fIn\fR] [\fB\-\-dwarf\-start=\fR\fIn\fR] [\fB\-\-ctf=\fR\fIsection\fR] [\fB\-\-ctf\-parent=\fR\fIsection\fR] [\fB\-\-ctf\-symbols=\fR\fIsection\fR] [\fB\-\-ctf\-strings=\fR\fIsection\fR] [\fB\-\-sframe=\fR\fIsection\fR] [\fB\-I\fR|\fB\-\-histogram\fR] [\fB\-v\fR|\fB\-\-version\fR] [\fB\-W\fR|\fB\-\-wide\fR] [\fB\-T\fR|\fB\-\-silent\-truncation\fR] [\fB\-H\fR|\fB\-\-help\fR] \fIelffile\fR... .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" \&\fBreadelf\fR اطلاعات مربوط به یک یا چند فایل شیء در قالب ELF را نمایش می‌دهد. گزینه‌ها تعیین می‌کنند که چه اطلاعات خاصی نمایش داده شود. .PP \&\fIelffile\fR... فایل‌های شیئی هستند که باید بررسی شوند. فایل‌های ELF ۳۲\-بیتی و ۶۴\-بیتی، و همچنین آرشیوهای حاوی فایل‌های ELF پشتیبانی می‌شوند. .PP این برنامه عملکردی مشابه با \fBobjdump\fR دارد، اما جزئیات بیشتری ارائه می‌دهد و مستقل از کتابخانه BFD عمل می‌کند؛ بنابراین در صورت وجود اشکال در BFD، برنامه \fBreadelf\fR تحت تأثیر قرار نخواهد گرفت. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" فرم‌های کوتاه و بلند گزینه‌ها، که در اینجا به عنوان حالت‌های جایگزین آمده‌اند، معادل یکدیگرند. علاوه بر \fB\-v\fR یا \fB\-H\fR حداقل باید یک گزینهٔ دیگر مشخص شود. .IP \fB\-a\fR 4 .IX Item "-a" .PD 0 .IP \fB\-\-all\fR 4 .IX Item "--all" .PD معادل با تعیین گزینه‌های \fB\-\-file\-header\fR، \&\fB\-\-program\-headers\fR، \fB\-\-sections\fR، \fB\-\-symbols\fR، \&\fB\-\-relocs\fR، \fB\-\-dynamic\fR، \fB\-\-notes\fR، \&\fB\-\-version\-info\fR، \fB\-\-arch\-specific\fR، \fB\-\-unwind\fR، \&\fB\-\-section\-groups\fR و \fB\-\-histogram\fR است. .Sp نکته \- این گزینه به خودی خود \fB\-\-use\-dynamic\fR را فعال نمی‌کند، بنابراین اگر آن گزینه در خط فرمان مشخص نشده باشد، نمادهای پویا و جابه‌جایی‌های پویا نمایش داده نخواهند شد. .IP \fB\-h\fR 4 .IX Item "-h" .PD 0 .IP \fB\-\-file\-header\fR 4 .IX Item "--file-header" .PD اطلاعات موجود در سرایند ELF در ابتدای فایل را نمایش می‌دهد. .IP \fB\-l\fR 4 .IX Item "-l" .PD 0 .IP \fB\-\-program\-headers\fR 4 .IX Item "--program-headers" .IP \fB\-\-segments\fR 4 .IX Item "--segments" .PD اطلاعات موجود در سرایندهای سگمنت فایل را، در صورت وجود، نمایش می‌دهد. .IP \fB\-\-quiet\fR 4 .IX Item "--quiet" از نمایش پیام تشخیصی «no symbols» جلوگیری می‌کند. .IP \fB\-S\fR 4 .IX Item "-S" .PD 0 .IP \fB\-\-sections\fR 4 .IX Item "--sections" .IP \fB\-\-section\-headers\fR 4 .IX Item "--section-headers" .PD اطلاعات موجود در سرایندهای بخش (section headers) فایل را، در صورت وجود، نمایش می‌دهد. .IP \fB\-g\fR 4 .IX Item "-g" .PD 0 .IP \fB\-\-section\-groups\fR 4 .IX Item "--section-groups" .PD اطلاعات موجود در گروه‌های بخش فایل را، در صورت وجود، نمایش می‌دهد. .IP \fB\-t\fR 4 .IX Item "-t" .PD 0 .IP \fB\-\-section\-details\fR 4 .IX Item "--section-details" .PD اطلاعات تفصیلی بخش‌ها را نمایش می‌دهد. مستلزم \fB\-S\fR است. .IP \fB\-s\fR 4 .IX Item "-s" .PD 0 .IP \fB\-\-symbols\fR 4 .IX Item "--symbols" .IP \fB\-\-syms\fR 4 .IX Item "--syms" .PD ورودی‌های بخش جدول نمادهای فایل را، در صورت وجود، نمایش می‌دهد. اگر نمادی دارای اطلاعات نگارش مرتبط باشد، آن اطلاعات نیز نمایش داده می‌شود. رشتهٔ نگارش به صورت پسوند برای نام نماد و پس از یک نویسهٔ @ نمایش می‌یابد؛ به عنوان مثال \&\fBfoo@VER_1\fR. اگر این نگارش، نگارش پیش‌فرض برای حل ارجاعات بدون نگارش به این نماد باشد، با دو نویسهٔ @ به عنوان پسوند نمایش داده می‌شود؛ به عنوان مثال \&\fBfoo@@VER_2\fR. .IP \fB\-\-dyn\-syms\fR 4 .IX Item "--dyn-syms" ورودی‌های بخش جدول نمادهای پویای فایل را، در صورت وجود، نمایش می‌دهد. قالب خروجی مشابه قالبی است که توسط گزینهٔ \&\fB\-\-syms\fR استفاده می‌شود. .IP \fB\-\-lto\-syms\fR 4 .IX Item "--lto-syms" محتویات هرگونه جدول نماد LTO در فایل را نمایش می‌دهد. .IP \fB\-\-sym\-base=[0|8|10|16]\fR 4 .IX Item "--sym-base=[0|8|10|16]" فیلد اندازه در جدول نمادها را ملزم به استفاده از مبنای مشخص‌شده می‌کند. هر گزینهٔ ناشناخته به عنوان \fB0\fR در نظر گرفته خواهد شد. مقدار \fB\-\-sym\-base=0\fR نشان‌دهندهٔ رفتار پیش‌فرض و موروثی است. این حالت، اندازه‌ها را برای مقادیر کمتر از ۱۰۰۰۰۰ به صورت ده‌دهی نشان می‌دهد. برای اندازه‌های ۱۰۰۰۰۰ و بزرگ‌تر، نمادگذاری شانزده‌شانزدهی با پیشوند 0x به کار خواهد رفت. \&\fB\-\-sym\-base=8\fR اندازهٔ نمادها را در مبنای هشت نمایش می‌دهد. \&\fB\-\-sym\-base=10\fR اندازهٔ نمادها را همواره در مبنای ده نمایش می‌دهد. \&\fB\-\-sym\-base=16\fR اندازهٔ نمادها را همواره در مبنای شانزده با پیشوند 0x نمایش می‌دهد. .IP \fB\-C\fR 4 .IX Item "-C" .PD 0 .IP \fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR 4 .IX Item "--demangle[=style]" .PD رمزگشایی (\fIdemangle\fR) نام‌های نماد سطح پایین به نام‌های سطح کاربر. این کار نام توابع C++ را خوانا می‌کند. کامپایلرهای مختلف شیوه‌های درهم‌سازی (mangling) متفاوتی دارند. از آرگومان اختیاری شیوهٔ رمزگشایی می‌توان برای انتخاب شیوهٔ مناسب کامپایلر شما استفاده کرد. .IP \fB\-\-no\-demangle\fR 4 .IX Item "--no-demangle" نام‌های سطح پایین نمادها را رمزگشایی نمی‌کند. این حالت پیش‌فرض است. .IP \fB\-\-recurse\-limit\fR 4 .IX Item "--recurse-limit" .PD 0 .IP \fB\-\-no\-recurse\-limit\fR 4 .IX Item "--no-recurse-limit" .IP \fB\-\-recursion\-limit\fR 4 .IX Item "--recursion-limit" .IP \fB\-\-no\-recursion\-limit\fR 4 .IX Item "--no-recursion-limit" .PD محدودیتی برای میزان بازگشت (recursion) انجام‌شده هنگام رمزگشایی رشته‌ها را فعال یا غیرفعال می‌کند. از آنجا که ساختارهای درهم‌سازی نام‌ها سطوح نامحدودی از بازگشت را مجاز می‌دانند، امکان ایجاد رشته‌هایی وجود دارد که رمزگشایی آن‌ها تمام فضای پشتهٔ موجود در ماشین میزبان را مصرف کرده و باعث ایجاد خطای حافظه شود. این محدودیت با محدود کردن بازگشت به ۲۰۴۸ سطح تودرتو، تلاش می‌کند از رخ دادن چنین وضعیتی جلوگیری کند. .Sp حالت پیش‌فرض فعال بودن این محدودیت است، اما ممکن است برای رمزگشایی نام‌های بسیار پیچیده غیرفعال کردن آن ضروری باشد. با این حال توجه داشته باشید در صورتی که محدودیت بازگشت غیرفعال شود، احتمال سرریز و اتمام پشته وجود دارد و هرگونه گزارش باگ در مورد چنین اتفاقی رد خواهد شد. .IP "\fB\-U\fR \fI[d|i|l|e|x|h]\fR" 4 .IX Item "-U [d|i|l|e|x|h]" .PD 0 .IP \fB\-\-unicode=[default|invalid|locale|escape|hex|highlight]\fR 4 .IX Item "--unicode=[default|invalid|locale|escape|hex|highlight]" .PD نمایش نویسه‌های غیر ASCII را در نام شناسه‌ها کنترل می‌کند. حالت پیش‌فرض (\fB\-\-unicode=locale\fR یا \fB\-\-unicode=default\fR) این است که با آن‌ها به عنوان نویسه‌های چندبایتی رفتار شده و در لوکال فعلی نمایش یابند. سایر مقادیر این گزینه، بایت‌ها را به صورت مقادیر کدگذاری‌شده با UTF\-8 در نظر گرفته و تلاش می‌کنند آن‌ها را تفسیر نمایند. اگر قابل تفسیر نباشند یا اگر از گزینهٔ \&\fB\-\-unicode=invalid\fR استفاده شود، به صورت دنباله‌ای از بایت‌های هگزادسیمال محصور در آکولاد نمایش داده خواهند شد. .Sp استفاده از گزینهٔ \fB\-\-unicode=escape\fR نویسه‌ها را به عنوان توالی‌های گریز یونیکد (\fI\euxxxx\fR) نمایش می‌دهد. استفاده از \&\fB\-\-unicode=hex\fR نویسه‌ها را به صورت توالی بایت‌های هگزادسیمال محصور بین قلاب‌های زاویه‌دار نمایش می‌دهد. .Sp استفاده از \fB\-\-unicode=highlight\fR نویسه‌ها را به صورت توالی‌های گریز یونیکد نمایش می‌دهد، اما در صورتی که دستگاه خروجی از رنگ پشتیبانی کند، آن‌ها را با رنگ قرمز نیز برجسته می‌کند. این رنگ‌آمیزی با این هدف است که در صورت غیرمنتظره بودن توالی‌های یونیکد، توجه کاربر به آن‌ها جلب شود. .IP \fB\-X\fR 4 .IX Item "-X" .PD 0 .IP \fB\-\-extra\-sym\-info\fR 4 .IX Item "--extra-sym-info" .PD هنگام نمایش جزئیات نمادها، اطلاعات اضافه‌ای را که به طور معمول نشان داده نمی‌شوند شامل می‌شود. در حال حاضر این گزینه فقط نام بخشی را که توسط فیلد نمایهٔ (index) نماد ارجاع داده شده است (در صورت وجود) اضافه می‌کند. در آینده ممکن است با فعال بودن این گزینه اطلاعات بیشتری نمایش یابد. .Sp فعال کردن این گزینه، دست‌کم هنگام نمایش اطلاعات نماد، عملاً گزینهٔ \fB\-\-wide\fR را نیز فعال می‌کند. .IP \fB\-\-no\-extra\-sym\-info\fR 4 .IX Item "--no-extra-sym-info" اثر گزینهٔ \fB\-\-extra\-sym\-info\fR را غیرفعال می‌کند. این حالت پیش‌فرض است. .IP \fB\-e\fR 4 .IX Item "-e" .PD 0 .IP \fB\-\-headers\fR 4 .IX Item "--headers" .PD تمام سرایندهای موجود در فایل را نمایش می‌دهد. معادل \fB\-h \-l \-S\fR است. .IP \fB\-n\fR 4 .IX Item "-n" .PD 0 .IP \fB\-\-notes\fR 4 .IX Item "--notes" .PD محتویات سگمنت‌ها و/یا بخش‌های NOTE را، در صورت وجود، نمایش می‌دهد. .IP \fB\-r\fR 4 .IX Item "-r" .PD 0 .IP \fB\-\-relocs\fR 4 .IX Item "--relocs" .PD محتویات بخش relocation (تغییرمکان) فایل را، در صورت وجود، نمایش می‌دهد. .IP \fB\-u\fR 4 .IX Item "-u" .PD 0 .IP \fB\-\-unwind\fR 4 .IX Item "--unwind" .PD محتویات بخش unwind فایل را در صورت وجود نمایش می‌دهد. در حال حاضر فقط بخش‌های unwind برای فایل‌های ELF مربوط به IA64 و همچنین جدول‌های unwind معماری ARM (\f(CW\*(C`.ARM.exidx\*(C'\fR / \f(CW\*(C`.ARM.extab\*(C'\fR) پشتیبانی می‌شوند. اگر پشتیبانی برای معماری شما هنوز پیاده‌سازی نشده است، می‌توانید استخراج محتویات بخش \fI.eh_frames\fR را با استفاده از گزینه‌های \&\fB\-\-debug\-dump=frames\fR یا \fB\-\-debug\-dump=frames\-interp\fR امتحان کنید. .IP \fB\-d\fR 4 .IX Item "-d" .PD 0 .IP \fB\-\-dynamic\fR 4 .IX Item "--dynamic" .PD محتویات بخش dynamic فایل را در صورت وجود نمایش می‌دهد. .IP \fB\-V\fR 4 .IX Item "-V" .PD 0 .IP \fB\-\-version\-info\fR 4 .IX Item "--version-info" .PD محتویات بخش‌های نسخه (version) موجود در فایل را در صورت وجود نمایش می‌دهد. .IP \fB\-A\fR 4 .IX Item "-A" .PD 0 .IP \fB\-\-arch\-specific\fR 4 .IX Item "--arch-specific" .PD اطلاعات وابسته به معماری موجود در فایل را در صورت وجود نمایش می‌دهد. .IP \fB\-D\fR 4 .IX Item "-D" .PD 0 .IP \fB\-\-use\-dynamic\fR 4 .IX Item "--use-dynamic" .PD هنگام نمایش نمادها، این گزینه موجب می‌شود که \fBreadelf\fR به‌جای بخش‌های جدول نماد، از جدول‌های درهم‌سازی نماد در بخش dynamic فایل استفاده کند. .Sp هنگام نمایش بازنشانی‌ها (relocations)، این گزینه موجب می‌شود که \fBreadelf\fR بازنشانی‌های پویا را به‌جای بازنشانی‌های ایستا نمایش دهد. .IP \fB\-L\fR 4 .IX Item "-L" .PD 0 .IP \fB\-\-lint\fR 4 .IX Item "--lint" .IP \fB\-\-enable\-checks\fR 4 .IX Item "--enable-checks" .PD پیام‌های هشدار دربارهٔ مشکلات احتمالی فایل(های) در حال بررسی را نمایش می‌دهد. اگر به‌تنهایی به‌کار رود، تمام محتویات فایل(ها) بررسی خواهد شد. اگر همراه با یکی از گزینه‌های استخراج (dumping) استفاده شود، پیام‌های هشدار تنها برای مواردی تولید خواهند شد که در حال نمایش هستند. .IP "\fB\-x \fR" 4 .IX Item "-x " .PD 0 .IP "\fB\-\-hex\-dump=\fR" 4 .IX Item "--hex-dump=" .PD محتویات بخش مشخص‌شده را به‌صورت بایت‌های هگزادسیمال (hexadecimal) نمایش می‌دهد. یک عدد، بخش خاصی را بر اساس اندیس در جدول بخش‌ها مشخص می‌کند؛ هر رشتهٔ دیگری تمامی بخش‌های دارای آن نام را در فایل شیء مشخص می‌سازد. این گزینه می‌تواند چندین بار در خط فرمان تکرار شود تا چند استخراج هگزادسیمال درخواست شود. .IP "\fB\-R \fR" 4 .IX Item "-R " .PD 0 .IP "\fB\-\-relocated\-dump=\fR" 4 .IX Item "--relocated-dump=" .PD محتویات بخش مشخص‌شده را به‌صورت بایت‌های هگزادسیمال نمایش می‌دهد. یک عدد، بخش خاصی را بر اساس اندیس در جدول بخش‌ها تعیین می‌کند؛ هر رشتهٔ دیگری تمامی بخش‌های با آن نام را در فایل شیء مشخص می‌کند. محتویات بخش پیش از نمایش، بازنشانی خواهند شد. این گزینه می‌تواند چندین بار در خط فرمان تکرار شود تا چند استخراج بازنشانی‌شده درخواست گردد. .IP "\fB\-p \fR" 4 .IX Item "-p " .PD 0 .IP "\fB\-\-string\-dump=\fR" 4 .IX Item "--string-dump=" .PD محتویات بخش مشخص‌شده را به‌صورت رشته‌های قابل چاپ نمایش می‌دهد. یک عدد، بخش خاصی را بر اساس اندیس در جدول بخش‌ها مشخص می‌سازد؛ هر رشتهٔ دیگری تمامی بخش‌های دارای آن نام را در فایل شیء تعیین می‌کند. این گزینه می‌تواند چندین بار در خط فرمان تکرار شود تا چندین استخراج رشته‌ای درخواست شود. .IP "\fB\-j \fR" 4 .IX Item "-j " .PD 0 .IP \fB\-\-display\-section\fR 4 .IX Item "--display-section" .PD محتویات بخش مشخص‌شده را بر اساس نوع سرآیند بخش آن نمایش می‌دهد. بخش‌های حاوی بازنشانی‌ها طوری نمایش داده می‌شوند که گویی گزینهٔ \fB\-\-relocations\fR استفاده شده است، بخش‌های حاوی نمادها طوری نمایش داده می‌شوند که گویی گزینهٔ \fB\-\-syms\fR به‌کار رفته است و به همین ترتیب. .Sp یک عدد، بخش خاصی را بر اساس اندیس در جدول بخش‌ها مشخص می‌کند؛ هر رشتهٔ دیگری تمامی بخش‌های دارای آن نام را در فایل(های) ورودی تعیین می‌کند. .Sp این گزینه را می‌توان چندین بار در خط فرمان تکرار کرد تا چندین استخراج بخش درخواست شود. .IP \fB\-z\fR 4 .IX Item "-z" .PD 0 .IP \fB\-\-decompress\fR 4 .IX Item "--decompress" .PD درخواست می‌کند بخش(هایی) که توسط گزینه‌های \fBx\fR، \fBR\fR یا \&\fBp\fR استخراج می‌شوند، پیش از نمایش از حالت فشرده خارج شوند. اگر بخش(ها) فشرده نباشند، همان‌گونه که هستند نمایش داده می‌شوند. .IP \fB\-c\fR 4 .IX Item "-c" .PD 0 .IP \fB\-\-archive\-index\fR 4 .IX Item "--archive-index" .PD اطلاعات اندیس نماد فایل موجود در بخش سرآیند آرشیوهای باینری را نمایش می‌دهد. عملکردی مشابه دستور \fBt\fR در \fBar\fR انجام می‌دهد، اما بدون استفاده از کتابخانهٔ BFD. .IP \fB\-w[lLiaprmfFsOoRtUuTgAckK]\fR 4 .IX Item "-w[lLiaprmfFsOoRtUuTgAckK]" .PD 0 .IP \fB\-\-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]\fR 4 .IX Item "--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]" .PD محتویات بخش‌های اشکال‌زدایی DWARF را در فایل، در صورت وجود، نمایش می‌دهد. بخش‌های اشکال‌زدایی فشرده‌شده به‌طور خودکار (موقت) پیش از نمایش از حالت فشرده خارج می‌شوند. اگر یک یا چند حرف یا کلمهٔ اختیاری در پی سوئیچ بیایند، تنها همان نوع داده(ها) استخراج خواهند شد. حروف و کلمات به اطلاعات زیر اشاره دارند: .RS 4 .ie n .IP """a""" 4 .el .IP \f(CWa\fR 4 .IX Item "a" .PD 0 .ie n .IP """=abbrev""" 4 .el .IP \f(CW=abbrev\fR 4 .IX Item "=abbrev" .PD محتویات بخش \fB.debug_abbrev\fR را نمایش می‌دهد. .ie n .IP """A""" 4 .el .IP \f(CWA\fR 4 .IX Item "A" .PD 0 .ie n .IP """=addr""" 4 .el .IP \f(CW=addr\fR 4 .IX Item "=addr" .PD محتویات بخش \fB.debug_addr\fR را نمایش می‌دهد. .ie n .IP """c""" 4 .el .IP \f(CWc\fR 4 .IX Item "c" .PD 0 .ie n .IP """=cu_index""" 4 .el .IP \f(CW=cu_index\fR 4 .IX Item "=cu_index" .PD محتویات بخش‌های \fB.debug_cu_index\fR و/یا \&\fB.debug_tu_index\fR را نمایش می‌دهد. .ie n .IP """f""" 4 .el .IP \f(CWf\fR 4 .IX Item "f" .PD 0 .ie n .IP """=frames""" 4 .el .IP \f(CW=frames\fR 4 .IX Item "=frames" .PD محتویات خام یک بخش \fB.debug_frame\fR را نمایش می‌دهد. .ie n .IP """F""" 4 .el .IP \f(CWF\fR 4 .IX Item "F" .PD 0 .ie n .IP """=frames\-interp""" 4 .el .IP \f(CW=frames\-interp\fR 4 .IX Item "=frames-interp" .PD محتویات تفسیرشدهٔ یک بخش \fB.debug_frame\fR را نمایش می‌دهد. .ie n .IP """g""" 4 .el .IP \f(CWg\fR 4 .IX Item "g" .PD 0 .ie n .IP """=gdb_index""" 4 .el .IP \f(CW=gdb_index\fR 4 .IX Item "=gdb_index" .PD محتویات بخش‌های \fB.gdb_index\fR و/یا \&\fB.debug_names\fR را نمایش می‌دهد. .ie n .IP """i""" 4 .el .IP \f(CWi\fR 4 .IX Item "i" .PD 0 .ie n .IP """=info""" 4 .el .IP \f(CW=info\fR 4 .IX Item "=info" .PD محتویات بخش \fB.debug_info\fR را نمایش می‌دهد. نکته: خروجی این گزینه همچنین می‌تواند با استفاده از گزینه‌های \&\fB\-\-dwarf\-depth\fR و \fB\-\-dwarf\-start\fR محدود شود. .ie n .IP """k""" 4 .el .IP \f(CWk\fR 4 .IX Item "k" .PD 0 .ie n .IP """=links""" 4 .el .IP \f(CW=links\fR 4 .IX Item "=links" .PD محتویات بخش‌های \fB.gnu_debuglink\fR، \&\fB.gnu_debugaltlink\fR و \fB.debug_sup\fR را در صورت وجود هر یک از آن‌ها نمایش می‌دهد. همچنین هرگونه پیوند به فایل‌های شیءِ DWARF مجزا (dwo) را در صورتی که توسط مشخصه‌های DW_AT_GNU_dwo_name یا DW_AT_dwo_name در بخش \fB.debug_info\fR معین شده باشند، نمایش می‌دهد. .ie n .IP """K""" 4 .el .IP \f(CWK\fR 4 .IX Item "K" .PD 0 .ie n .IP """=follow\-links""" 4 .el .IP \f(CW=follow\-links\fR 4 .IX Item "=follow-links" .PD محتویات هر یک از بخش‌های اشکال‌زدایی انتخاب‌شده را که در فایل(های) مجزا و پیوند‌خوردهٔ اطلاعات اشکال‌زدایی یافت شوند، نمایش می‌دهد. این امر در صورتی که یک بخش در بیش از یک فایل وجود داشته باشد، می‌تواند به نمایش چندین نسخه از همان بخش اشکال‌زدایی بیانجامد. .Sp علاوه بر این، هنگام نمایش مشخصه‌های DWARF، اگر قالبی یافت شود که به فایل مجزای اطلاعات اشکال‌زدایی ارجاع می‌دهد، محتویات ارجاع‌شده نیز نمایش داده خواهند شد. .Sp نکته \- در برخی توزیع‌ها این گزینه به‌طور پیش‌فرض فعال است. می‌توان آن را از طریق گزینهٔ اشکال‌زدایی \fBN\fR غیرفعال کرد. پیش‌فرض را می‌توان هنگام پیکربندی binutils از طریق گزینه‌های \&\fB\-\-enable\-follow\-debug\-links=yes\fR یا \&\fB\-\-enable\-follow\-debug\-links=no\fR انتخاب کرد. اگر از این‌ها استفاده نشود، پیش‌فرض دنبال‌کردن پیوندهای اشکال‌زدایی فعال خواهد بود. .Sp نکته \- اگر پشتیبانی از پروتکل debuginfod هنگام ساخت binutils فعال شده باشد، این گزینه تلاشی برای برقراری ارتباط با هر سرور debuginfod ذکرشده در متغیر محیطی \fIDEBUGINFOD_URLS\fR را نیز در بر می‌گیرد. تحلیل و پاسخ به این درخواست ممکن است کمی زمان ببرد. این رفتار را می‌توان از طریق گزینهٔ اشکال‌زدایی \fB=do\-not\-use\-debuginfod\fR غیرفعال کرد. .ie n .IP """N""" 4 .el .IP \f(CWN\fR 4 .IX Item "N" .PD 0 .ie n .IP """=no\-follow\-links""" 4 .el .IP \f(CW=no\-follow\-links\fR 4 .IX Item "=no-follow-links" .PD دنبال‌کردن پیوندها به فایل‌های مجزای اطلاعات اشکال‌زدایی را غیرفعال می‌کند. .ie n .IP """D""" 4 .el .IP \f(CWD\fR 4 .IX Item "D" .PD 0 .ie n .IP """=use\-debuginfod""" 4 .el .IP \f(CW=use\-debuginfod\fR 4 .IX Item "=use-debuginfod" .PD در صورت نیاز به دنبال‌کردن پیوندهای اشکال‌زدایی، تماس با سرورهای debuginfod را فعال می‌کند. این رفتار پیش‌فرض است. .ie n .IP """E""" 4 .el .IP \f(CWE\fR 4 .IX Item "E" .PD 0 .ie n .IP """=do\-not\-use\-debuginfod""" 4 .el .IP \f(CW=do\-not\-use\-debuginfod\fR 4 .IX Item "=do-not-use-debuginfod" .PD هنگام نیاز به دنبال‌کردن پیوندهای اشکال‌زدایی، تماس با سرورهای debuginfod را غیرفعال می‌کند. .ie n .IP """l""" 4 .el .IP \f(CWl\fR 4 .IX Item "l" .PD 0 .ie n .IP """=rawline""" 4 .el .IP \f(CW=rawline\fR 4 .IX Item "=rawline" .PD محتویات بخش \fB.debug_line\fR را در قالب خام نمایش می‌دهد. .ie n .IP """L""" 4 .el .IP \f(CWL\fR 4 .IX Item "L" .PD 0 .ie n .IP """=decodedline""" 4 .el .IP \f(CW=decodedline\fR 4 .IX Item "=decodedline" .PD محتویات تفسیرشدهٔ بخش \fB.debug_line\fR را نمایش می‌دهد. .ie n .IP """m""" 4 .el .IP \f(CWm\fR 4 .IX Item "m" .PD 0 .ie n .IP """=macro""" 4 .el .IP \f(CW=macro\fR 4 .IX Item "=macro" .PD محتویات بخش‌های \fB.debug_macro\fR و/یا \&\fB.debug_macinfo\fR را نمایش می‌دهد. .ie n .IP """o""" 4 .el .IP \f(CWo\fR 4 .IX Item "o" .PD 0 .ie n .IP """=loc""" 4 .el .IP \f(CW=loc\fR 4 .IX Item "=loc" .PD محتویات بخش‌های \fB.debug_loc\fR و/یا \&\fB.debug_loclists\fR را نمایش می‌دهد. .ie n .IP """O""" 4 .el .IP \f(CWO\fR 4 .IX Item "O" .PD 0 .ie n .IP """=str\-offsets""" 4 .el .IP \f(CW=str\-offsets\fR 4 .IX Item "=str-offsets" .PD محتویات بخش \fB.debug_str_offsets\fR را نمایش می‌دهد. .ie n .IP """p""" 4 .el .IP \f(CWp\fR 4 .IX Item "p" .PD 0 .ie n .IP """=pubnames""" 4 .el .IP \f(CW=pubnames\fR 4 .IX Item "=pubnames" .PD محتویات بخش‌های \fB.debug_pubnames\fR و/یا \&\fB.debug_gnu_pubnames\fR را نمایش می‌دهد. .ie n .IP """r""" 4 .el .IP \f(CWr\fR 4 .IX Item "r" .PD 0 .ie n .IP """=aranges""" 4 .el .IP \f(CW=aranges\fR 4 .IX Item "=aranges" .PD محتویات بخش \fB.debug_aranges\fR را نمایش می‌دهد. .ie n .IP """R""" 4 .el .IP \f(CWR\fR 4 .IX Item "R" .PD 0 .ie n .IP """=Ranges""" 4 .el .IP \f(CW=Ranges\fR 4 .IX Item "=Ranges" .PD محتویات بخش‌های \fB.debug_ranges\fR و/یا \&\fB.debug_rnglists\fR را نمایش می‌دهد. .ie n .IP """s""" 4 .el .IP \f(CWs\fR 4 .IX Item "s" .PD 0 .ie n .IP """=str""" 4 .el .IP \f(CW=str\fR 4 .IX Item "=str" .PD محتویات بخش‌های \fB.debug_str\fR، \fB.debug_line_str\fR و/یا \fB.debug_str_offsets\fR را نمایش می‌دهد. .ie n .IP """t""" 4 .el .IP \f(CWt\fR 4 .IX Item "t" .PD 0 .ie n .IP """=pubtype""" 4 .el .IP \f(CW=pubtype\fR 4 .IX Item "=pubtype" .PD محتویات بخش‌های \fB.debug_pubtypes\fR و/یا \&\fB.debug_gnu_pubtypes\fR را نمایش می‌دهد. .ie n .IP """T""" 4 .el .IP \f(CWT\fR 4 .IX Item "T" .PD 0 .ie n .IP """=trace_aranges""" 4 .el .IP \f(CW=trace_aranges\fR 4 .IX Item "=trace_aranges" .PD محتویات بخش \fB.trace_aranges\fR را نمایش می‌دهد. .ie n .IP """u""" 4 .el .IP \f(CWu\fR 4 .IX Item "u" .PD 0 .ie n .IP """=trace_abbrev""" 4 .el .IP \f(CW=trace_abbrev\fR 4 .IX Item "=trace_abbrev" .PD محتویات بخش \fB.trace_abbrev\fR را نمایش می‌دهد. .ie n .IP """U""" 4 .el .IP \f(CWU\fR 4 .IX Item "U" .PD 0 .ie n .IP """=trace_info""" 4 .el .IP \f(CW=trace_info\fR 4 .IX Item "=trace_info" .PD محتویات بخش \fB.trace_info\fR را نمایش می‌دهد. .RE .RS 4 .Sp نکته: نمایش محتویات بخش‌های \fB.debug_static_funcs\fR، \&\fB.debug_static_vars\fR و \fBdebug_weaknames\fR در حال حاضر پشتیبانی نمی‌شود. .RE .IP \fB\-\-dwarf\-depth=\fR\fIn\fR 4 .IX Item "--dwarf-depth=n" تخلیه بخش \f(CW\*(C`.debug_info\*(C'\fR را به \fIn\fR فرزند محدود می‌کند. این گزینه تنها با \fB\-\-debug\-dump=info\fR کاربرد دارد. حالت پیش‌فرض چاپ تمام DIEها است؛ مقدار ویژهٔ 0 برای \fIn\fR نیز همین اثر را خواهد داشت. .Sp با یک مقدار غیرصفر برای \fIn\fR، مدخل‌های DIE در عمق \fIn\fR یا عمیق‌تر چاپ نخواهند شد. محدودهٔ \fIn\fR بر مبنای صفر است. .IP \fB\-\-dwarf\-start=\fR\fIn\fR 4 .IX Item "--dwarf-start=n" تنها DIEهایی را چاپ می‌کند که با DIE شمارهٔ \fIn\fR شروع می‌شوند. این گزینه تنها با \fB\-\-debug\-dump=info\fR کاربرد دارد. .Sp در صورت تعیین، این گزینه از چاپ اطلاعات سرایند و تمامی DIEهای پیش از DIE شمارهٔ \fIn\fR جلوگیری می‌کند. تنها هم‌سطح‌ها و فرزندان DIE مشخص‌شده چاپ خواهند شد. .Sp می‌توان از این گزینه در کنار \fB\-\-dwarf\-depth\fR استفاده کرد. .IP \fB\-P\fR 4 .IX Item "-P" .PD 0 .IP \fB\-\-process\-links\fR 4 .IX Item "--process-links" .PD محتوای بخش‌های غیردیباگ موجود در فایل‌های debuginfo جداگانه‌ای که به فایل اصلی پیوند داده شده‌اند را نمایش می‌دهد. این گزینه به‌طور خودکار مستلزم گزینهٔ \fB\-wK\fR است، و تنها بخش‌هایی که توسط گزینه‌های دیگر خط فرمان درخواست شده‌اند نمایش داده خواهند شد. .IP \fB\-\-ctf[=\fR\fIsection\fR\fB]\fR 4 .IX Item "--ctf[=section]" محتوای بخش CTF مشخص‌شده را نمایش می‌دهد. بخش‌های CTF خود شامل زیربخش‌های متعددی هستند که همگی به ترتیب نمایش داده می‌شوند. .Sp به‌طور پیش‌فرض، نام بخش مشخص‌شده با \fI.ctf\fR را نمایش می‌دهد که نام صادرشده توسط \fBld\fR است. .IP \fB\-\-ctf\-parent=\fR\fImember\fR 4 .IX Item "--ctf-parent=member" اگر بخش CTF شامل انواعی با تعریف مبهم باشد، شامل آرشیوی از چندین فرهنگ لغت CTF خواهد بود که همگی از یک فرهنگ لغت حاوی انواع بدون ابهام ارث‌بری می‌کنند. این عضو به‌طور پیش‌فرض مانند بخشی که در آن قرار دارد، \fI.ctf\fR نامیده می‌شود، اما تغییر دادن این نام در زمان پیوند با استفاده از تابع \f(CW\*(C`ctf_link_set_memb_name_changer\*(C'\fR امکان‌پذیر است. هنگام بررسی آرشیوهای CTF که توسط پیونددهنده‌ای با استفاده از تغییردهندهٔ نام برای تغییر نام عضو آرشیو والد ایجاد شده‌اند، می‌توان از \fB\-\-ctf\-parent\fR برای تعیین نام استفاده‌شده برای والد بهره برد. .IP \fB\-\-ctf\-parent\-section=\fR\fIsection\fR 4 .IX Item "--ctf-parent-section=section" این گزینه به شما امکان می‌دهد برای فرهنگ لغت والد CTF شامل انواع بدون ابهام، بخشی کاملاً متفاوت نسبت به فرهنگ‌های لغت فرزند حاوی باقی‌مانده‌های مبهم انتخاب کنید. پیونددهنده اشیاء ELF با این ساختار را صادر نمی‌کند، اما برخی پیونددهنده‌های شخص ثالث ممکن است چنین کنند. این گزینه همچنین برای بررسی CTFهایی که در قالب چندین فایل خام ذخیره شده‌اند تا با \fBobjcopy\fR ترکیب شوند مناسب است؛ چرا که \fBobjcopy\fR می‌تواند آن‌ها را در بخش‌های مختلف ELF قرار دهد اما نه در اعضای مختلف یک فرهنگ لغت CTF واحد. .IP \fB\-\-ctf\-symbols=\fR\fIsection\fR 4 .IX Item "--ctf-symbols=section" .PD 0 .IP \fB\-\-ctf\-strings=\fR\fIsection\fR 4 .IX Item "--ctf-strings=section" .PD نام بخش دیگری را مشخص می‌کند که فایل CTF می‌تواند رشته‌ها و نمادها را از آن به ارث ببرد. به‌طور پیش‌فرض، \f(CW\*(C`.symtab\*(C'\fR و جدول رشته پیوندیافتهٔ آن استفاده می‌شوند. .Sp اگر هر یک از \fB\-\-ctf\-symbols\fR یا \fB\-\-ctf\-strings\fR مشخص شود، دیگری نیز باید مشخص گردد. .IP \fB\-I\fR 4 .IX Item "-I" .PD 0 .IP \fB\-\-histogram\fR 4 .IX Item "--histogram" .PD هنگام نمایش محتوای جدول‌های نماد، یک هیستوگرام از طول فهرست باکت‌ها نمایش می‌دهد. .IP \fB\-v\fR 4 .IX Item "-v" .PD 0 .IP \fB\-\-version\fR 4 .IX Item "--version" .PD شماره نسخهٔ readelf را نمایش می‌دهد. .IP \fB\-W\fR 4 .IX Item "-W" .PD 0 .IP \fB\-\-wide\fR 4 .IX Item "--wide" .PD خطوط خروجی را برای جا شدن در 80 ستون نمی‌شکند. به‌طور پیش‌فرض \&\fBreadelf\fR خطوط فهرست سرایند بخش و قطعه‌ها را برای فایل‌های ELF 64\-بیتی می‌شکند تا در 80 ستون جای گیرند. این گزینه باعث می‌شود \&\fBreadelf\fR هر سرایند بخش یا هر قطعه را به‌ترتیب در یک خط واحد چاپ کند، که در پایانه‌های عریض‌تر از 80 ستون بسیار خواناتر است. .IP \fB\-T\fR 4 .IX Item "-T" .PD 0 .IP \fB\-\-silent\-truncation\fR 4 .IX Item "--silent-truncation" .PD به‌طور معمول هنگامی که readelf در حال نمایش یک نام نماد است و مجبور می‌شود برای جا دادن آن در نمای 80 ستونی نام را کوتاه کند، پسوند \f(CW\*(C`[...]\*(C'\fR را به نام می‌افزاید. این گزینهٔ خط فرمان این رفتار را غیرفعال می‌کند و امکان نمایش 5 نویسهٔ بیشتر از نام را فراهم می‌سازد و رفتار قدیمی readelf (پیش از نسخهٔ 2.35) را بازمی‌گرداند. .IP \fB\-H\fR 4 .IX Item "-H" .PD 0 .IP \fB\-\-help\fR 4 .IX Item "--help" .PD گزینه‌های خط فرمان قابل فهم برای \fBreadelf\fR را نمایش می‌دهد. .IP \fB@\fR\fIfile\fR 4 .IX Item "@file" گزینه‌های خط فرمان را از \fIfile\fR می‌خواند. گزینه‌های خوانده‌شده به جای گزینهٔ اصلی @\fIfile\fR درج می‌شوند. اگر \fIfile\fR وجود نداشته باشد یا قابل خواندن نباشد، با گزینه به‌صورت لغوی برخورد خواهد شد و حذف نمی‌شود. .Sp گزینه‌ها در \fIfile\fR با نویسه‌های فاصله از هم جدا می‌شوند. یک نویسهٔ فاصله می‌تواند با محصور کردن کل گزینه در علامت نقل‌قول تکی یا دوتایی، درون گزینه قرار گیرد. هر نویسه‌ای (از جمله بک‌اسلش) می‌تواند با قرار دادن پیشوند بک‌اسلش قبل از آن گنجانده شود. خود \fIfile\fR ممکن است شامل گزینه‌های @\fIfile\fR دیگری باشد؛ هر یک از این گزینه‌ها به‌صورت بازگشتی پردازش خواهند شد. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBobjdump\fR\|(1) و مدخل‌های Info برای \fIbinutils\fR. .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" Copyright (c) 1991\-2025 Free Software Foundation, Inc. .PP اجازهٔ کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخهٔ ۱.۳ یا هر نسخهٔ متأخرتری که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، داده می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متن‌های روی جلد و بدون متن‌های پشت جلد. نسخه‌ای از این مجوز در بخشی با عنوان «GNU Free Documentation License» گنجانده شده است.