.\" -*- 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 "OBJDUMP 1" .TH OBJDUMP 1 2026-08-11 binutils-2.47 "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)" objdump \- نمایش اطلاعات و بررسی محتوای فایل‌های باینری و شیء (Object Files) .SH "خلاصه دستور (SYNOPSIS)" .IX Header "خلاصه دستور (SYNOPSIS)" objdump [\fB\-a\fR|\fB\-\-archive\-headers\fR] [\fB\-b\fR \fIbfdname\fR|\fB\-\-target=\fR\fIbfdname\fR] [\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR] ] [\fB\-d\fR|\fB\-\-disassemble\fR[=\fIsymbol\fR]] [\fB\-D\fR|\fB\-\-disassemble\-all\fR] [\fB\-z\fR|\fB\-\-disassemble\-zeroes\fR] [\fB\-EB\fR|\fB\-EL\fR|\fB\-\-endian=\fR{big | little }] [\fB\-f\fR|\fB\-\-file\-headers\fR] [\fB\-F\fR|\fB\-\-file\-offsets\fR] [\fB\-\-file\-start\-context\fR] [\fB\-g\fR|\fB\-\-debugging\fR] [\fB\-e\fR|\fB\-\-debugging\-tags\fR] [\fB\-h\fR|\fB\-\-section\-headers\fR|\fB\-\-headers\fR] [\fB\-i\fR|\fB\-\-info\fR] [\fB\-j\fR \fIsection\fR|\fB\-\-section=\fR\fIsection\fR] [\fB\-l\fR|\fB\-\-line\-numbers\fR] [\fB\-S\fR|\fB\-\-source\fR] [\fB\-\-source\-comment\fR[=\fItext\fR]] [\fB\-m\fR \fImachine\fR|\fB\-\-architecture=\fR\fImachine\fR] [\fB\-M\fR \fIoptions\fR|\fB\-\-disassembler\-options=\fR\fIoptions\fR] [\fB\-p\fR|\fB\-\-private\-headers\fR] [\fB\-P\fR \fIoptions\fR|\fB\-\-private=\fR\fIoptions\fR] [\fB\-r\fR|\fB\-\-reloc\fR] [\fB\-R\fR|\fB\-\-dynamic\-reloc\fR] [\fB\-s\fR|\fB\-\-full\-contents\fR] [\fB\-Z\fR|\fB\-\-decompress\fR] [\fB\-W\fR|\fB\-\-dwarf\fR] [\fB\-Wa\fR|\fB\-\-dwarf=abbrev\fR] [\fB\-WA\fR|\fB\-\-dwarf=addr\fR] [\fB\-Wr\fR|\fB\-\-dwarf=aranges\fR] [\fB\-Wc\fR|\fB\-\-dwarf=cu_index\fR] [\fB\-WL\fR|\fB\-\-dwarf=decodedline\fR] [\fB\-Wf\fR|\fB\-\-dwarf=frames\fR] [\fB\-WF\fR|\fB\-\-dwarf=frames\-interp\fR] [\fB\-Wg\fR|\fB\-\-dwarf=gdb_index\fR] [\fB\-Wi\fR|\fB\-\-dwarf=info\fR] [\fB\-Wk\fR|\fB\-\-dwarf=links\fR] [\fB\-Wo\fR|\fB\-\-dwarf=loc\fR] [\fB\-Wm\fR|\fB\-\-dwarf=macro\fR] [\fB\-Wp\fR|\fB\-\-dwarf=pubnames\fR] [\fB\-Wt\fR|\fB\-\-dwarf=pubtypes\fR] [\fB\-WR\fR|\fB\-\-dwarf=Ranges\fR] [\fB\-Wl\fR|\fB\-\-dwarf=rawline\fR] [\fB\-Ws\fR|\fB\-\-dwarf=str\fR] [\fB\-WO\fR|\fB\-\-dwarf=str\-offsets\fR] [\fB\-Wu\fR|\fB\-\-dwarf=trace_abbrev\fR] [\fB\-WT\fR|\fB\-\-dwarf=trace_aranges\fR] [\fB\-WU\fR|\fB\-\-dwarf=trace_info\fR] [\fB\-WK\fR|\fB\-\-dwarf=follow\-links\fR] [\fB\-WN\fR|\fB\-\-dwarf=no\-follow\-links\fR] [\fB\-WD\fR|\fB\-\-dwarf=use\-debuginfod\fR] [\fB\-WE\fR|\fB\-\-dwarf=do\-not\-use\-debuginfod\fR] [\fB\-\-debug\-dir=\fR\f(BIdir\fR] [\fB\-\-map\-global\-vars\fR] [\fB\-L\fR|\fB\-\-process\-links\fR] [\fB\-\-ctf=\fR\fIsection\fR] [\fB\-\-sframe=\fR\fIsection\fR] [\fB\-G\fR|\fB\-\-stabs\fR] [\fB\-t\fR|\fB\-\-syms\fR] [\fB\-T\fR|\fB\-\-dynamic\-syms\fR] [\fB\-x\fR|\fB\-\-all\-headers\fR] [\fB\-w\fR|\fB\-\-wide\fR] [\fB\-\-start\-address=\fR\fIaddress\fR] [\fB\-\-stop\-address=\fR\fIaddress\fR] [\fB\-\-no\-addresses\fR] [\fB\-\-prefix\-addresses\fR] [\fB\-\-[no\-]show\-raw\-insn\fR] [\fB\-\-adjust\-vma=\fR\fIoffset\fR] [\fB\-\-show\-all\-symbols\fR] [\fB\-\-dwarf\-depth=\fR\fIn\fR] [\fB\-\-dwarf\-start=\fR\fIn\fR] [\fB\-\-ctf\-parent=\fR\fIsection\fR] [\fB\-\-no\-recurse\-limit\fR|\fB\-\-recurse\-limit\fR] [\fB\-\-special\-syms\fR] [\fB\-\-prefix=\fR\fIprefix\fR] [\fB\-\-prefix\-strip=\fR\fIlevel\fR] [\fB\-\-insn\-width=\fR\fIwidth\fR] [\fB\-\-visualize\-jumps[=color|=extended\-color|=off]\fR [\fB\-\-disassembler\-color=[off|terminal|on|extended]\fR [\fB\-U\fR \fImethod\fR] [\fB\-\-unicode=\fR\fImethod\fR] [\fB\-V\fR|\fB\-\-version\fR] [\fB\-H\fR|\fB\-\-help\fR] \fIobjfile\fR... .SH "توضیحات (DESCRIPTION)" .IX Header "توضیحات (DESCRIPTION)" دستور \&\fBobjdump\fR اطلاعات مربوط به یک یا چند فایل شیء (Object File) را نمایش می‌دهد. گزینه‌ها مشخص می‌کنند که چه اطلاعات خاصی نمایش داده شود. این اطلاعات بیشتر برای برنامه‌نویسانی که روی ابزارهای کامپایل کار می‌کنند مفید است، نه برنامه‌نویسانی که فقط می‌خواهند برنامه‌شان کامپایل شده و اجرا شود. .PP شناسه \&\fIobjfile\fR... فایل‌های شیء مورد بررسی هستند. هنگامی که فایل‌های آرشیو (بایگانی) را مشخص می‌کنید، \&\fBobjdump\fR اطلاعات مربوط به هر یک از فایل‌های شیء عضو آن آرشیو را نمایش می‌دهد. .SH "گزینه‌ها (OPTIONS)" .IX Header "گزینه‌ها (OPTIONS)" فرم‌های کوتاه و بلند گزینه‌ها که در اینجا به‌عنوان جایگزین نمایش داده شده‌اند، معادل یکدیگرند. دست‌کم باید یکی از گزینه‌های فهرست \&\fB\-a,\-d,\-D,\-e,\-f,\-g,\-G,\-h,\-H,\-p,\-P,\-r,\-R,\-s,\-S,\-t,\-T,\-V,\-x\fR مشخص شود. .IP \fB\-a\fR 4 .IX Item "-a" .PD 0 .IP \fB\-\-archive\-header\fR 4 .IX Item "--archive-header" .PD اگر هر یک از فایل‌های \fIobjfile\fR آرشیو باشند، اطلاعات هدر آرشیو را (در قالبی مشابه \&\fBls \-l\fR) نمایش می‌دهد. علاوه بر اطلاعاتی که می‌توانید با \&\fBar tv\fR مشاهده کنید، دستور \&\fBobjdump \-a\fR فرمت فایل شیء هر یک از اعضای آرشیو را نیز نشان می‌دهد. .IP \fB\-\-adjust\-vma=\fR\fIoffset\fR 4 .IX Item "--adjust-vma=offset" هنگام استخراج اطلاعات، مقدار \fIoffset\fR را به نشانی تمام بخش‌ها (Sections) اضافه می‌کند. این گزینه زمانی مفید است که نشانی بخش‌ها با جدول نمادها مطابقت نداشته باشد؛ وضعیتی که ممکن است هنگام قرار دادن بخش‌ها در نشانی‌های خاص در فرمت‌هایی رخ دهد که قادر به نمایش نشانی بخش‌ها نیستند (مانند a.out). .IP "\fB\-b\fR \fIbfdname\fR" 4 .IX Item "-b bfdname" .PD 0 .IP \fB\-\-target=\fR\fIbfdname\fR 4 .IX Item "--target=bfdname" .PD مشخص می‌کند که فرمت کد شیء برای فایل‌های مورد نظر، \&\fIbfdname\fR است. این گزینه ممکن است ضروری نباشد زیرا \&\fIobjdump\fR می‌تواند بسیاری از فرمت‌ها را به‌طور خودکار شناسایی کند. .Sp برای نمونه: .Sp .Vb 1 \& objdump \-b oasys \-m vax \-h fu.o .Ve .Sp اطلاعات خلاصه‌ای از هدرهای بخش (\fB\-h\fR) فایل \&\fIfu.o\fR را نمایش می‌دهد که به‌طور صریح (\fB\-m\fR) به‌عنوان یک فایل شیء VAX در فرمت تولیدشده توسط کامپایلرهای Oasys مشخص شده است. می‌توانید فهرست فرمت‌های در دسترس را با گزینه \&\fB\-i\fR مشاهده کنید. .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) نام نمادهای سطح پایین به نام‌های خوانا در سطح کاربر. این گزینه علاوه بر حذف خط تیره زیرین ابتدایی (Underscore) که توسط سیستم اضافه می‌شود، نام توابع ++C را خوانا می‌کند. کامپایلرهای مختلف شیوه‌های متفاوتی برای دستکاری نام‌ها (Mangling) دارند. از آرگومان اختیاری شیوه رمزگشایی (\fIstyle\fR) می‌توان برای انتخاب شیوه مناسب با کامپایلر استفاده کرد. .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) هنگام رمزگشایی رشته‌های نام را فعال یا غیرفعال می‌کند. از آنجا که فرمت‌های دستکاری نام اجازه بازگشت نامحدود را می‌دهند، ممکن است رشته‌هایی تولید شوند که رمزگشایی آن‌ها تمام فضای پشته در دسترس سیستم میزبان را مصرف کرده و باعث خطای حافظه (Memory Fault) شود. این محدودیت با تحدید بازگشت به ۲۰۴۸ سطح تودرتو تلاش می‌کند از وقوع این مشکل جلوگیری کند. .Sp پیش‌فرض این است که محدودیت فعال باشد، اما غیرفعال کردن آن برای رمزگشایی نام‌های واقعاً پیچیده ممکن است ضروری باشد. با این حال توجه داشته باشید که در صورت غیرفعال کردن محدودیت بازگشت، سرریز پشته (Stack Exhaustion) محتمل خواهد بود و هرگونه گزارش باگ مربوط به چنین رخدادی رد خواهد شد. .IP \fB\-g\fR 4 .IX Item "-g" .PD 0 .IP \fB\-\-debugging\fR 4 .IX Item "--debugging" .PD نمایش اطلاعات اشکال‌زدایی (Debugging). این گزینه تلاش می‌کند اطلاعات فرمت اشکال‌زدایی STABS ذخیره‌شده در فایل را تجزیه کرده و آن را با ساختاری شبیه به زبان C چاپ کند. اگر اطلاعات اشکال‌زدایی STABS یافت نشود، این گزینه به گزینه \&\fB\-W\fR رجوع کرده تا هرگونه اطلاعات DWARF موجود در فایل را چاپ کند. .IP \fB\-e\fR 4 .IX Item "-e" .PD 0 .IP \fB\-\-debugging\-tags\fR 4 .IX Item "--debugging-tags" .PD مشابه \&\fB\-g\fR، اما اطلاعات در قالبی سازگار با ابزار ctags تولید می‌شوند. .IP \fB\-d\fR 4 .IX Item "-d" .PD 0 .IP \fB\-\-disassemble\fR 4 .IX Item "--disassemble" .IP \fB\-\-disassemble=\fR\fIsymbol\fR 4 .IX Item "--disassemble=symbol" .PD نمایش کدهای یادبخش اسمبلی (Mnemonics) برای دستورات ماشین از فایل ورودی. این گزینه فقط بخش‌هایی را دیس‌اسمبل می‌کند که انتظار می‌رود شامل دستورالعمل باشند. اگر آرگومان اختیاری \fIsymbol\fR مشخص شده باشد (شاید چند بار)، دستورات اسمبلی از همان \fIsymbol\fR (یا نمادها) نمایش داده می‌شوند. اگر \fIsymbol\fR نام یک تابع باشد، دیس‌اسمبل در انتهای تابع متوقف می‌شود، در غیر این صورت با رسیدن به نماد بعدی متوقف خواهد شد. اگر هیچ تطابقی برای \fIsymbol\fR یافت نشود، چیزی نمایش داده نخواهد شد. .Sp توجه داشته باشید که اگر گزینه \&\fB\-\-dwarf=follow\-links\fR فعال باشد، تمام جداول نماد موجود در فایل‌های اطلاعات اشکال‌زدایی پیوندشده خوانده شده و هنگام دیس‌اسمبل به کار می‌روند. .IP \fB\-D\fR 4 .IX Item "-D" .PD 0 .IP \fB\-\-disassemble\-all\fR 4 .IX Item "--disassemble-all" .PD مشابه \&\fB\-d\fR، اما محتوای تمامی بخش‌های غیرخالی و غیر bss را دیس‌اسمبل می‌کند، نه فقط بخش‌هایی که انتظار می‌رود شامل دستورالعمل باشند. برای انتخاب بخش‌های خاص می‌توان از \&\fB\-j\fR استفاده کرد. .Sp این گزینه همچنین اثر ظریفی بر دیس‌اسمبل دستورالعمل‌ها در بخش‌های کد دارد. هنگامی که گزینه \&\fB\-d\fR فعال است، \&\fBobjdump\fR فرض می‌کند هر نمادی که در یک بخش کد وجود دارد در مرز بین دستورالعمل‌ها قرار دارد و از دیس‌اسمبل در عرض چنین مرزی خودداری می‌کند. اما هنگامی که گزینه \&\fB\-D\fR فعال باشد، این فرض نادیده گرفته می‌شود. این بدان معناست که در صورت وجود داده در بخش‌های کد، خروجی \&\fB\-d\fR و \&\fB\-D\fR می‌تواند متفاوت باشد. .Sp اگر مقصد معماری ARM باشد، این سوییچ همچنین دیس‌اسمبلر را مجبور می‌کند تا بخش‌های داده یافت‌شده در بخش‌های کد را به گونه‌ای رمزگشایی کند که گویی دستورالعمل ماشین هستند. .Sp توجه داشته باشید که اگر گزینه \&\fB\-\-dwarf=follow\-links\fR فعال باشد، جدول‌های نماد در فایل‌های اطلاعات اشکال‌زدایی پیوندشده خوانده شده و هنگام دیس‌اسمبل استفاده می‌شوند. .IP \fB\-\-no\-addresses\fR 4 .IX Item "--no-addresses" هنگام دیس‌اسمبل کردن، نشانی‌ها را در هر خط یا برای نمادها و آفست‌های بازنشانی (Relocation Offsets) چاپ نمی‌کند. ترکیب این گزینه با \&\fB\-\-no\-show\-raw\-insn\fR برای مقایسه خروجی کامپایلرها بسیار مفید است. .IP \fB\-\-prefix\-addresses\fR 4 .IX Item "--prefix-addresses" هنگام دیس‌اسمبل کردن، نشانی کامل را در ابتدای هر خط چاپ می‌کند. این فرمت قدیمی‌تر دیس‌اسمبل است. .IP \fB\-EB\fR 4 .IX Item "-EB" .PD 0 .IP \fB\-EL\fR 4 .IX Item "-EL" .IP \fB\-\-endian={big|little}\fR 4 .IX Item "--endian={big|little}" .PD ترتیب بایت‌ها (Endianness) را برای فایل‌های شیء تعیین می‌کند. این گزینه فقط بر دیس‌اسمبل تأثیر دارد و هنگام دیس‌اسمبل فرمت فایلی که حاوی اطلاعات ترتیب بایت نیست (مانند S\-records) می‌تواند مفید باشد. .IP \fB\-f\fR 4 .IX Item "-f" .PD 0 .IP \fB\-\-file\-headers\fR 4 .IX Item "--file-headers" .PD اطلاعات خلاصه‌ای از هدر کلی هر یک از فایل‌های \fIobjfile\fR را نمایش می‌دهد. .IP \fB\-F\fR 4 .IX Item "-F" .PD 0 .IP \fB\-\-file\-offsets\fR 4 .IX Item "--file-offsets" .PD هنگام دیس‌اسمبل بخش‌ها، هر زمان که یک نماد نمایش داده می‌شود، آفست فایلی (File Offset) ناحیه داده‌ای که قرار است استخراج شود را نیز نمایش می‌دهد. اگر صفرهای متوالی نادیده گرفته شوند، هنگام از سرگیری دیس‌اسمبل، تعداد صفرهای نادیده گرفته‌شده و آفست فایل نقطه‌ای که دیس‌اسمبل از آنجا ادامه می‌یابد به کاربر اعلام می‌شود. هنگام استخراج بخش‌ها، آفست فایل مکانی که استخراج از آن آغاز شده است را نمایش می‌دهد. .IP \fB\-\-file\-start\-context\fR 4 .IX Item "--file-start-context" مشخص می‌کند که هنگام نمایش توأم کد منبع و دیس‌اسمبل (با فرض فعال بودن \&\fB\-S\fR) برای فایلی که تاکنون نمایش داده نشده است، محدوده زمینه تا ابتدای فایل گسترش یابد. .IP \fB\-h\fR 4 .IX Item "-h" .PD 0 .IP \fB\-\-section\-headers\fR 4 .IX Item "--section-headers" .IP \fB\-\-headers\fR 4 .IX Item "--headers" .PD اطلاعات خلاصه‌ای از هدرهای بخش (Section Headers) فایل شیء را نمایش می‌دهد. .Sp قطعات فایل ممکن است به نشانی‌های غیراستاندارد بازنشانی (Relocate) شوند، برای نمونه با استفاده از گزینه‌های \&\fB\-Ttext\fR، \&\fB\-Tdata\fR یا \&\fB\-Tbss\fR در دستور \&\fBld\fR. با این حال، برخی فرمت‌های فایل شیء، مانند a.out، نشانی شروع قطعات فایل را ذخیره نمی‌کنند. در این شرایط، هرچند \&\fBld\fR بخش‌ها را به درستی بازنشانی می‌کند، استفاده از \&\fBobjdump \-h\fR برای فهرست کردن هدرهای بخش فایل نمی‌تواند نشانی‌های صحیح را نشان دهد و در عوض نشانی‌های معمول را نشان می‌دهد که برای معماری مقصد ضمنی هستند. .Sp توجه داشته باشید در برخی موارد ممکن است یک بخش هم ویژگی READONLY و هم NOREAD را داشته باشد. در چنین مواردی ویژگی NOREAD تقدم دارد، اما \&\fBobjdump\fR هر دو را گزارش می‌کند زیرا تنظیم دقیق بیت‌های فلگ ممکن است اهمیت داشته باشد. .IP \fB\-H\fR 4 .IX Item "-H" .PD 0 .IP \fB\-\-help\fR 4 .IX Item "--help" .PD خلاصه‌ای از گزینه‌های \&\fBobjdump\fR را چاپ کرده و خارج می‌شود. .IP \fB\-i\fR 4 .IX Item "-i" .PD 0 .IP \fB\-\-info\fR 4 .IX Item "--info" .PD فهرستی شامل تمامی معماری‌ها و فرمت‌های شیء موجود که می‌توان با گزینه‌های \&\fB\-b\fR یا \&\fB\-m\fR تعیین کرد را نمایش می‌دهد. .IP "\fB\-j\fR \fIname\fR" 4 .IX Item "-j name" .PD 0 .IP \fB\-\-section=\fR\fIname\fR 4 .IX Item "--section=name" .PD اطلاعات مربوط به بخش \fIname\fR را نمایش می‌دهد. این گزینه را می‌توان چندین بار مشخص کرد. .IP \fB\-\-map\-global\-vars\fR 4 .IX Item "--map-global-vars" اطلاعات متغیرهای سراسری را نمایش می‌دهد. این گزینه فقط زمانی کار می‌کند که فایل شیء با گزینه اشکال‌زدایی کامپایل شده باشد؛ به بیان دقیق‌تر، به ورودی‌های اطلاعات اشکال‌زدایی DWARF2 متکی است. این گزینه برای ردیابی مکان و نوع تمامی متغیرهای سراسری در فایل شیء معین مفید است. .IP \fB\-L\fR 4 .IX Item "-L" .PD 0 .IP \fB\-\-process\-links\fR 4 .IX Item "--process-links" .PD محتوای بخش‌های غیر اشکال‌زدایی یافت‌شده در فایل‌های debuginfo جداگانه‌ای که به فایل اصلی متصل هستند را نمایش می‌دهد. این گزینه به‌طور خودکار گزینه \&\fB\-WK\fR را فعال می‌کند و تنها بخش‌هایی که توسط سایر گزینه‌های خط فرمان درخواست شده‌اند نمایش داده می‌شوند. .IP \fB\-l\fR 4 .IX Item "-l" .PD 0 .IP \fB\-\-line\-numbers\fR 4 .IX Item "--line-numbers" .PD خروجی نمایش داده شده را (با استفاده از اطلاعات اشکال‌زدایی) با نام فایل و شماره خطوط کد منبع متناظر با کد شیء یا بازنشانی‌ها برچسب‌گذاری می‌کند. فقط با گزینه‌های \&\fB\-d\fR، \&\fB\-D\fR یا \&\fB\-r\fR مفید است. .IP "\fB\-m\fR \fImachine\fR" 4 .IX Item "-m machine" .PD 0 .IP \fB\-\-architecture=\fR\fImachine\fR 4 .IX Item "--architecture=machine" .PD معماری مورد استفاده هنگام دیس‌اسمبل فایل‌های شیء را مشخص می‌کند. این گزینه هنگام دیس‌اسمبل فایل‌های شیء که حاوی اطلاعات معماری نیستند (مانند S\-records) کاربرد دارد. می‌توانید فهرست معماری‌های موجود را با گزینه \&\fB\-i\fR مشاهده کنید. .Sp برای اکثر معماری‌ها می‌توان نام معماری و نام ماشین را که با دونقطه جدا شده‌اند ارائه کرد. برای نمونه \&\fBfoo:bar\fR به نوع ماشین \&\fBbar\fR در معماری \&\fBfoo\fR اشاره دارد. این قابلیت زمانی که objdump برای پشتیبانی از چند معماری پیکربندی شده باشد می‌تواند بسیار مفید باشد. .Sp اگر مقصد یک معماری ARM باشد، این سوییچ تأثیر دیگری نیز دارد: دیس‌اسمبل را فقط به دستورالعمل‌هایی محدود می‌کند که توسط معماری مشخص‌شده در \fImachine\fR پشتیبانی می‌شوند. اگر به دلیل عدم وجود اطلاعات معماری در فایل ورودی نیاز به استفاده از این سوییچ است، اما دیس‌اسمبل تمام دستورالعمل‌ها مورد نظر است، از \&\fB\-marm\fR استفاده کنید. .IP "\fB\-M\fR \fIoptions\fR" 4 .IX Item "-M options" .PD 0 .IP \fB\-\-disassembler\-options=\fR\fIoptions\fR 4 .IX Item "--disassembler-options=options" .PD اطلاعات اختصاصی معماری مقصد را به دیس‌اسمبلر ارسال می‌کند. تنها در برخی معماری‌ها پشتیبانی می‌شود. در صورت نیاز به تعیین بیش از یک گزینه دیس‌اسمبلر، می‌توان از چندین گزینه \&\fB\-M\fR استفاده کرد یا آن‌ها را در یک فهرست جداشده با ویرگول قرار داد. .Sp برای معماری ARC: گزینه \&\fBdsp\fR چاپ دستورالعمل‌های DSP را کنترل می‌کند، \&\fBspfp\fR چاپ دستورات ممیز شناور با دقت یگانه FPX را انتخاب می‌کند، \&\fBdpfp\fR چاپ دستورات ممیز شناور با دقت دوگانه FPX را برمی‌گزیند، \&\fBquarkse_em\fR دستورات ویژه QuarkSE\-EM را چاپ می‌کند، \&\fBfpuda\fR چاپ دستورات کمکی دقت دوگانه را تعیین می‌کند، \&\fBfpus\fR چاپ دستورات ممیز شناور دقت یگانه FPU را انتخاب می‌کند، در حالی که \&\fBfpud\fR چاپ دستورات ممیز شناور با دقت دوگانه FPU را انتخاب می‌نماید. افزون بر این، می‌توان با استفاده از \&\fBhex\fR انتخاب کرد که تمامی مقادیر بی‌درنگ (Immediates) در مبنای شانزده چاپ شوند. به‌طور پیش‌فرض، مقادیر بی‌درنگ کوتاه در قالب ده‌دهی و مقادیر طولانی در قالب هگزادسیمال چاپ می‌شوند. .Sp گزینه \&\fBcpu=...\fR به شما امکان می‌دهد هنگام دیس‌اسمبل کردن دستورالعمل‌ها، یک ISA خاص را اعمال کرده و مقدار \&\fB\-m\fR یا هر آنچه در فایل ELF است را بازنویسی (Override) کنید. این برای انتخاب ARC EM یا HS ISA مفید است، زیرا معماری این دو یکسان است و دیس‌اسمبلر برای تشخیص کد EM یا HS به داده‌های هدر خصوصی ELF تکیه می‌کند. این گزینه می‌تواند چندین بار مشخص شود؛ تنها آخرین مقدار اعمال خواهد شد. مقادیر معتبر همانند مقادیر گزینه \&\fB\-mcpu=...\fR در اسمبلر هستند. .Sp اگر مقصد معماری ARM باشد، از این سوییچ می‌توان برای انتخاب مجموعه نام ثبات‌ها (Registers) در حین دیس‌اسمبل استفاده کرد. تعیین \&\fB\-M reg\-names\-std\fR (پیش‌فرض) نام ثبات‌ها را طبق مستندات مجموعه دستورات ARM انتخاب می‌کند، با این تفاوت که ثبات ۱۳ را \&\*(Aqsp\*(Aq، ثبات ۱۴ را \&\*(Aqlr\*(Aq و ثبات ۱۵ را \&\*(Aqpc\*(Aq می‌نامد. تعیین \&\fB\-M reg\-names\-apcs\fR مجموعه نام‌های استاندارد فراخوانی رویه ARM (یا APCS) را انتخاب می‌کند، در حالی که \&\fB\-M reg\-names\-raw\fR صرفاً از \&\fBr\fR به همراه شماره ثبات استفاده می‌نماید. .Sp همچنین دو نسخه دیگر از نام‌گذاری ثبات‌های APCS وجود دارد که توسط \&\fB\-M reg\-names\-atpcs\fR و \&\fB\-M reg\-names\-special\-atpcs\fR فعال می‌شوند و از قراردادهای نام‌گذاری استاندارد فراخوانی رویه ARM/Thumb استفاده می‌کنند (چه با نام‌های عادی ثبات‌ها یا نام‌های ویژه ثبات‌ها). .Sp این گزینه همچنین می‌تواند برای معماری‌های ARM به کار رود تا با استفاده از سوییچ \&\fB\-\-disassembler\-options=force\-thumb\fR دیس‌اسمبلر را وادار کند تمامی دستورالعمل‌ها را به‌عنوان دستورات Thumb تفسیر کند. این قابلیت هنگام تلاش برای دیس‌اسمبل کردن کدهای thumb تولیدشده توسط سایر کامپایلرها سودمند است. .Sp برای مقاصد AArch64 این سوییچ می‌تواند تعیین کند که آیا دستورالعمل‌ها با گزینه \&\fB\-M no\-aliases\fR به‌عنوان عام‌ترین دستورالعمل دیس‌اسمبل شوند یا یادداشت‌های دستورالعمل‌ها با گزینه \&\fB\-M notes\fR به‌صورت کامنت در دیس‌اسمبل تولید گردند. علاوه بر این، گزینه \&\fB\-M annotate\fR می‌تواند برای سفارشی‌سازی نحوه مدیریت دستورالعمل‌های تعریف‌نشده در حین دیس‌اسمبل فایل‌های اجرایی و کتابخانه‌های اشتراکی استفاده شود. به‌طور معمول، دیس‌اسمبلر صرفاً مقدار هگزادسیمال دستورالعمل تعریف‌نشده را نشان می‌دهد، اما در صورت فعال بودن حاشیه‌نویسی (Annotation)، ابتدا تلاش می‌کند نمادی را پیدا کند که مقدار آن با کدگذاری دستور تطابق دارد. در صورت وجود تطابق، نام نماد به‌جای آن نمایش داده می‌شود. این ویژگی هنگام دیس‌اسمبل بخش‌های غیر کد که ممکن است شامل نشانی‌های تابع و داده باشند مفید است. .Sp برای معماری x86، برخی از گزینه‌ها عملکردهای سوییچ \&\fB\-m\fR را تکرار می‌کنند، اما کنترل دقیق‌تری فراهم می‌آورند: .RS 4 .ie n .IP """x86\-64""" 4 .el .IP \f(CWx86\-64\fR 4 .IX Item "x86-64" .PD 0 .ie n .IP """i386""" 4 .el .IP \f(CWi386\fR 4 .IX Item "i386" .ie n .IP """i8086""" 4 .el .IP \f(CWi8086\fR 4 .IX Item "i8086" .PD انتخاب دیس‌اسمبل برای معماری مشخص‌شده. .ie n .IP """intel""" 4 .el .IP \f(CWintel\fR 4 .IX Item "intel" .PD 0 .ie n .IP """att""" 4 .el .IP \f(CWatt\fR 4 .IX Item "att" .PD انتخاب بین حالت نحو اینتل (Intel syntax) و حالت نحو AT&T. .ie n .IP """amd64""" 4 .el .IP \f(CWamd64\fR 4 .IX Item "amd64" .PD 0 .ie n .IP """intel64""" 4 .el .IP \f(CWintel64\fR 4 .IX Item "intel64" .PD انتخاب میان AMD64 ISA و Intel64 ISA. .ie n .IP """intel\-mnemonic""" 4 .el .IP \f(CWintel\-mnemonic\fR 4 .IX Item "intel-mnemonic" .PD 0 .ie n .IP """att\-mnemonic""" 4 .el .IP \f(CWatt\-mnemonic\fR 4 .IX Item "att-mnemonic" .PD انتخاب بین حالت یادبخش‌های اینتل و حالت یادبخش‌های AT&T. توجه: \&\f(CW\*(C`intel\-mnemonic\*(C'\fR حالت \&\f(CW\*(C`intel\*(C'\fR و \&\f(CW\*(C`att\-mnemonic\*(C'\fR حالت \&\f(CW\*(C`att\*(C'\fR را در بر دارد. .ie n .IP """addr64""" 4 .el .IP \f(CWaddr64\fR 4 .IX Item "addr64" .PD 0 .ie n .IP """addr32""" 4 .el .IP \f(CWaddr32\fR 4 .IX Item "addr32" .ie n .IP """addr16""" 4 .el .IP \f(CWaddr16\fR 4 .IX Item "addr16" .ie n .IP """data32""" 4 .el .IP \f(CWdata32\fR 4 .IX Item "data32" .ie n .IP """data16""" 4 .el .IP \f(CWdata16\fR 4 .IX Item "data16" .PD تعیین اندازه پیش‌فرض نشانی و اندازه عملوند (Operand). در صورتی که گزینه‌های \&\f(CW\*(C`x86\-64\*(C'\fR، \&\f(CW\*(C`i386\*(C'\fR یا \&\f(CW\*(C`i8086\*(C'\fR در ادامه رشته گزینه‌ها ظاهر شوند، این پنج گزینه نادیده گرفته خواهند شد. .ie n .IP """suffix""" 4 .el .IP \f(CWsuffix\fR 4 .IX Item "suffix" در حالت AT&T و همچنین برای مجموعه محدودی از دستورات در حالت Intel، به دیس‌اسمبلر دستور می‌دهد که پسوند یادبخش را چاپ کند، حتی زمانی که پسوند می‌تواند از طریق عملوندها یا (برای دستورات خاص) از پیش‌فرض‌های حالت اجرا استنباط شود. .ie n .IP """annotate\-immediates""" 4 .el .IP \f(CWannotate\-immediates\fR 4 .IX Item "annotate-immediates" نماد مرتبط با مقادیر بی‌درنگ را، در صورت وجود، نمایش می‌دهد. تنها روی باینری‌های اجرایی و کتابخانه‌های اشتراکی کار می‌کند، نه فایل‌های شیء ایستا. .RE .RS 4 .Sp برای PowerPC، آرگومان \&\fBraw\fR برای سوییچ \&\fB\-M\fR دیس‌اسمبل دستورالعمل‌های سخت‌افزاری را به جای نام‌های مستعار (Aliases) انتخاب می‌کند. برای مثال به جای \&\f(CW\*(C`clrlwi\*(C'\fR دستور \&\f(CW\*(C`rlwinm\*(C'\fR، و به جای \&\f(CW\*(C`li\*(C'\fR دستور \&\f(CW\*(C`addi\*(C'\fR را خواهید دید. تمامی آرگومان‌های \&\fB\-m\fR برای \&\fBgas\fR که پردازنده را انتخاب می‌کنند، پشتیبانی می‌شوند؛ شامل: \&\fB403\fR، \fB405\fR، \fB440\fR، \fB464\fR، \fB476\fR، \&\fB601\fR، \fB603\fR، \fB604\fR، \fB620\fR، \fB7400\fR، \&\fB7410\fR، \fB7450\fR، \fB7455\fR، \fB750cl\fR، \&\fB821\fR، \fB850\fR، \fB860\fR، \fBa2\fR، \fBbooke\fR، \&\fBbooke32\fR، \fBcell\fR، \fBcom\fR، \fBe200z2\fR، \fBe200z4\fR، \&\fBe300\fR، \fBe500\fR، \fBe500mc\fR، \fBe500mc64\fR، \&\fBe500x2\fR، \fBe5500\fR، \fBe6500\fR، \fBefs\fR، \&\fBpower4\fR، \fBpower5\fR، \fBpower6\fR، \fBpower7\fR، \&\fBpower8\fR، \fBpower9\fR، \fBpower10\fR، \fBpower11\fR، \&\fBppc\fR، \fBppc32\fR، \fBppc64\fR، \fBppc64bridge\fR، \&\fBppcps\fR، \fBpwr\fR، \fBpwr2\fR، \fBpwr4\fR، \fBpwr5\fR، \&\fBpwr5x\fR، \fBpwr6\fR، \fBpwr7\fR، \fBpwr8\fR، \fBpwr9\fR، \&\fBpwr10\fR، \fBpwr11\fR، \fBpwrx\fR، \fBtitan\fR، \fBvle\fR و \&\fBfuture\fR. گزینه‌های \&\fB32\fR و \&\fB64\fR انتخاب پیش‌فرض یا قبلی پردازنده را تغییر داده و به ترتیب دستورات ۶۴ بیتی را غیرفعال یا فعال می‌کنند. علاوه بر این، \&\fBaltivec\fR، \fBany\fR، \fBlsp\fR، \fBhtm\fR، \&\fBvsx\fR، \fBspe\fR و \&\fBspe2\fR قابلیت‌هایی را به انتخاب قبلی \fIیا بعدی\fR پردازنده اضافه می‌کنند. گزینه \&\fBany\fR هرگونه کد عملیاتی (Opcode) شناخته‌شده برای binutils را دیس‌اسمبل می‌کند، اما در مواردی که یک آپ‌کد دارای دو معنی متفاوت یا آرگومان‌های متفاوت باشد، ممکن است خروجی مورد انتظار خود را مشاهده نکنید. اگر دیس‌اسمبل را بدون تعیین پردازنده اجرا کنید، یک مقدار پیش‌فرض بر اساس اطلاعات استخراج‌شده توسط BFD از هدرهای فایل شیء انتخاب خواهد شد، اما نتیجه مجدداً ممکن است مطابق انتظار نباشد. .Sp برای معماری RISC\-V، گزینه‌های زیر پشتیبانی می‌شوند: .ie n .IP """max""" 4 .el .IP \f(CWmax\fR 4 .IX Item "max" دیس‌اسمبل بدون بررسی رشته معماری. این یک حالت با حداکثر تلاش (Best effort) است؛ بنابراین برای افزونه‌های همپوشان ISA، نخستین تطابق (که احتمالاً در یک زمینه خاص نادرست است) برای رمزگشایی دستورالعمل به کار خواهد رفت. این گزینه زمانی کاربرد دارد که فایل ELF رشته ISA را ارائه ندهد (که مانع از استنتاج خودکار زیرمجموعه ISA می‌شود) و رشته ISA پیش‌فرض (\f(CW\*(C`rv64gc\*(C'\fR) تمام دستورالعمل‌های موجود در فایل باینری را پوشش ندهد. .ie n .IP """numeric""" 4 .el .IP \f(CWnumeric\fR 4 .IX Item "numeric" چاپ نام‌های عددی ثبات‌ها به‌جای نام‌های ABI (برای مثال چاپ \f(CW\*(C`x2\*(C'\fR به‌جای \f(CW\*(C`sp\*(C'\fR). .ie n .IP """no\-aliases""" 4 .el .IP \f(CWno\-aliases\fR 4 .IX Item "no-aliases" دیس‌اسمبل کردن تنها به دستورالعمل‌های استاندارد و کانونیکال (Canonical). برای نمونه، دستورالعمل‌های فشرده به همان صورت نمایش داده می‌شوند (\f(CW\*(C`addi sp,sp,\-128\*(C'\fR تبدیل به \f(CW\*(C`c.addi16sp sp,\-128\*(C'\fR می‌شود). .ie n .IP """priv\-spec=\fISPEC\fR""" 4 .el .IP \f(CWpriv\-spec=\fR\f(CISPEC\fR\f(CW\fR 4 .IX Item "priv-spec=SPEC" چاپ ثبات‌های کنترلی و وضعیتی (CSR) بر اساس نسخه مشخص‌شده از مشخصات سطح دسترسی (Privilege Spec)؛ مانند: \&\f(CW1.10\fR، \f(CW1.11\fR، \f(CW1.12\fR، \f(CW1.13\fR. .RE .RS 4 .Sp برای معماری MIPS، این گزینه چاپ نام یادبخش‌های دستورالعمل و نام ثبات‌ها را در دستورات دیس‌اسمبل‌شده کنترل می‌کند. گزینه‌های متعدد را می‌توان به‌صورت رشته‌ای جداشده با ویرگول مشخص کرد؛ گزینه‌های نامعتبر نادیده گرفته می‌شوند: .ie n .IP """no\-aliases""" 4 .el .IP \f(CWno\-aliases\fR 4 .IX Item "no-aliases" چاپ یادبخش خام دستورالعمل به جای یادبخش شبه‌دستور. یعنی چاپ \*(Aqdaddu\*(Aq یا \*(Aqor\*(Aq به‌جای \*(Aqmove\*(Aq، و چاپ \*(Aqsll\*(Aq به‌جای \*(Aqnop\*(Aq و نظایر آن. .ie n .IP """msa""" 4 .el .IP \f(CWmsa\fR 4 .IX Item "msa" دیس‌اسمبل دستورالعمل‌های MSA. .ie n .IP """virt""" 4 .el .IP \f(CWvirt\fR 4 .IX Item "virt" دیس‌اسمبل دستورالعمل‌های افزونه مجازی‌سازی (Virtualization ASE). .ie n .IP """xpa""" 4 .el .IP \f(CWxpa\fR 4 .IX Item "xpa" دیس‌اسمبل دستورالعمل‌های آدرس فیزیکی گسترش‌یافته (eXtended Physical Address / XPA ASE). .ie n .IP """gpr\-names=\fIABI\fR""" 4 .el .IP \f(CWgpr\-names=\fR\f(CIABI\fR\f(CW\fR 4 .IX Item "gpr-names=ABI" چاپ نام‌های ثبات‌های عمومی (GPR) متناسب با ABI مشخص‌شده. به‌طور پیش‌فرض، نام‌های GPR بر اساس ABI فایل باینری در حال دیس‌اسمبل انتخاب می‌شوند. .ie n .IP """fpr\-names=\fIABI\fR""" 4 .el .IP \f(CWfpr\-names=\fR\f(CIABI\fR\f(CW\fR 4 .IX Item "fpr-names=ABI" چاپ نام‌های ثبات‌های ممیز شناور (FPR) متناسب با ABI مشخص‌شده. به‌طور پیش‌فرض، شماره‌های FPR به‌جای نام آن‌ها چاپ می‌شود. .ie n .IP """cp0\-names=\fIARCH\fR""" 4 .el .IP \f(CWcp0\-names=\fR\f(CIARCH\fR\f(CW\fR 4 .IX Item "cp0-names=ARCH" چاپ نام‌های ثبات‌های CP0 (کمک‌پردازنده کنترل سیستم؛ کمک‌پردازنده ۰) متناسب با پردازنده یا معماری مشخص‌شده توسط \&\fIARCH\fR. به‌طور پیش‌فرض، نام ثبات‌های CP0 بر اساس معماری و پردازنده فایل باینری دیس‌اسمبل‌شده برگزیده می‌شوند. .ie n .IP """hwr\-names=\fIARCH\fR""" 4 .el .IP \f(CWhwr\-names=\fR\f(CIARCH\fR\f(CW\fR 4 .IX Item "hwr-names=ARCH" چاپ نام‌های ثبات‌های سخت‌افزاری HWR (مورد استفاده در دستور \f(CW\*(C`rdhwr\*(C'\fR) متناسب با پردازنده یا معماری مشخص‌شده توسط \&\fIARCH\fR. به‌طور پیش‌فرض، نام ثبات‌های HWR بر اساس معماری و پردازنده باینری انتخاب می‌شود. .ie n .IP """reg\-names=\fIABI\fR""" 4 .el .IP \f(CWreg\-names=\fR\f(CIABI\fR\f(CW\fR 4 .IX Item "reg-names=ABI" چاپ نام‌های GPR و FPR متناسب با ABI انتخاب‌شده. .ie n .IP """reg\-names=\fIARCH\fR""" 4 .el .IP \f(CWreg\-names=\fR\f(CIARCH\fR\f(CW\fR 4 .IX Item "reg-names=ARCH" چاپ نام‌های ثبات‌های اختصاصی پردازنده (نام‌های ثبات CP0 و HWR) متناسب با پردازنده یا معماری انتخاب‌شده. .RE .RS 4 .Sp برای هر یک از گزینه‌های فهرست‌شده در بالا، \fIABI\fR یا \&\fIARCH\fR می‌تواند به‌صورت \&\fBnumeric\fR مشخص شود تا برای انواع ثبات‌های انتخابی، به‌جای نام، اعداد چاپ شوند. می‌توانید مقادیر موجود برای \fIABI\fR و \&\fIARCH\fR را با استفاده از گزینه \&\fB\-\-help\fR مشاهده کنید. .Sp برای معماری VAX، می‌توانید نشانی ورود به تابع را با \&\fB\-M entry:0xf00ba\fR مشخص کنید. می‌توانید چندین بار از این گزینه استفاده نمایید تا فایل‌های باینری VAX فاقد جدول نمادها (مانند دامپ‌های حافظه ROM) به درستی دیس‌اسمبل شوند. در این موارد، در غیر این صورت ماسک ورود به تابع به‌عنوان دستورالعمل VAX رمزگشایی می‌شود که احتمالاً منجر به دیس‌اسمبل نادرست بقیه تابع خواهد شد. .RE .IP \fB\-p\fR 4 .IX Item "-p" .PD 0 .IP \fB\-\-private\-headers\fR 4 .IX Item "--private-headers" .PD اطلاعات اختصاصی مربوط به فرمت فایل شیء را چاپ می‌کند. اطلاعات دقیق چاپ‌شده بستگی به فرمت فایل شیء دارد. برای برخی فرمت‌های شیء، هیچ اطلاعات اضافی چاپ نمی‌شود. .IP "\fB\-P\fR \fIoptions\fR" 4 .IX Item "-P options" .PD 0 .IP \fB\-\-private=\fR\fIoptions\fR 4 .IX Item "--private=options" .PD اطلاعات اختصاصی فرمت فایل شیء را چاپ می‌کند. آرگومان \fIoptions\fR فهرستی جداشده با کاما است که به فرمت فایل بستگی دارد (فهرست گزینه‌ها با help نمایش داده می‌شود). .Sp برای فرمت XCOFF، گزینه‌های در دسترس عبارتند از: .RS 4 .ie n .IP """header""" 4 .el .IP \f(CWheader\fR 4 .IX Item "header" .PD 0 .ie n .IP """aout""" 4 .el .IP \f(CWaout\fR 4 .IX Item "aout" .ie n .IP """sections""" 4 .el .IP \f(CWsections\fR 4 .IX Item "sections" .ie n .IP """syms""" 4 .el .IP \f(CWsyms\fR 4 .IX Item "syms" .ie n .IP """relocs""" 4 .el .IP \f(CWrelocs\fR 4 .IX Item "relocs" .ie n .IP """lineno,""" 4 .el .IP \f(CWlineno,\fR 4 .IX Item "lineno," .ie n .IP """loader""" 4 .el .IP \f(CWloader\fR 4 .IX Item "loader" .ie n .IP """except""" 4 .el .IP \f(CWexcept\fR 4 .IX Item "except" .ie n .IP """typchk""" 4 .el .IP \f(CWtypchk\fR 4 .IX Item "typchk" .ie n .IP """traceback""" 4 .el .IP \f(CWtraceback\fR 4 .IX Item "traceback" .ie n .IP """toc""" 4 .el .IP \f(CWtoc\fR 4 .IX Item "toc" .ie n .IP """ldinfo""" 4 .el .IP \f(CWldinfo\fR 4 .IX Item "ldinfo" .PD .RE .RS 4 .Sp برای فرمت PE، گزینه‌های موجود عبارتند از: .RS 4 .ie n .IP """header""" 4 .el .IP \f(CWheader\fR 4 .IX Item "header" .PD 0 .ie n .IP """sections""" 4 .el .IP \f(CWsections\fR 4 .IX Item "sections" .PD .RE .RS 4 .Sp همه فرمت‌های فایل شیء از این گزینه پشتیبانی نمی‌کنند؛ به ویژه فرمت ELF از آن استفاده نمی‌کند. .RE .IP \fB\-r\fR 4 .IX Item "-r" .PD 0 .IP \fB\-\-reloc\fR 4 .IX Item "--reloc" .PD ورودی‌های بازنشانی (Relocation Entries) فایل را چاپ می‌کند. اگر همراه با \&\fB\-d\fR یا \&\fB\-D\fR به کار رود، بازنشانی‌ها به صورت درهم‌آمیخته با دیس‌اسمبل چاپ می‌شوند. .IP \fB\-R\fR 4 .IX Item "-R" .PD 0 .IP \fB\-\-dynamic\-reloc\fR 4 .IX Item "--dynamic-reloc" .PD ورودی‌های بازنشانی پویای فایل را چاپ می‌کند. این گزینه فقط برای اشیاء پویا معنادار است، مانند انواع خاصی از کتابخانه‌های اشتراکی. مانند \&\fB\-r\fR، اگر همراه با \&\fB\-d\fR یا \&\fB\-D\fR استفاده شود، بازنشانی‌ها در میان دیس‌اسمبل نمایش داده می‌شوند. .Sp توجه: \&\fBobjdump\fR از نمایش بازنشانی‌های نوع RELR پشتیبانی نمی‌کند. این بازنشانی‌ها را می‌توان با برنامه \&\fBreadelf\fR مشاهده کرد. .IP \fB\-s\fR 4 .IX Item "-s" .PD 0 .IP \fB\-\-full\-contents\fR 4 .IX Item "--full-contents" .PD محتوای کامل بخش‌ها را نمایش می‌دهد؛ اغلب در ترکیب با \&\fB\-j\fR برای درخواست بخش‌های خاص استفاده می‌شود. به‌طور پیش‌فرض تمامی بخش‌های غیرخالی و غیر bss نمایش داده می‌شوند. همچنین به‌طور پیش‌فرض هر بخش فشرده‌شده به شکل فشرده نمایش خواهد یافت. برای مشاهده محتوا در حالت غیرفشرده، گزینه \&\fB\-Z\fR را به خط فرمان اضافه کنید. .IP \fB\-S\fR 4 .IX Item "-S" .PD 0 .IP \fB\-\-source\fR 4 .IX Item "--source" .PD در صورت امکان، کد منبع اصلی را به صورت درهم‌آمیخته با دیس‌اسمبل نمایش می‌دهد. این گزینه به‌طور ضمنی \&\fB\-d\fR را فعال می‌کند. .IP \fB\-\-show\-all\-symbols\fR 4 .IX Item "--show-all-symbols" هنگام دیس‌اسمبل کردن، تمام نمادهایی که با یک نشانی معین مطابقت دارند را نشان می‌دهد، نه فقط نماد اول را. .IP \fB\-\-source\-comment[=\fR\fItxt\fR\fB]\fR 4 .IX Item "--source-comment[=txt]" مانند گزینه \&\fB\-S\fR، اما تمام خطوط کد منبع با پیشوند \fItxt\fR نمایش داده می‌شوند. معمولاً \fItxt\fR یک رشته کامنت خواهد بود که می‌تواند برای تمایز کد اسمبلی از کد منبع استفاده شود. اگر \fItxt\fR مشخص نشود، رشته پیش‌فرض \&\fI"# "\fR (علامت هش و به دنبال آن یک فاصله) به کار خواهد رفت. .IP \fB\-\-prefix=\fR\fIprefix\fR 4 .IX Item "--prefix=prefix" یک \fIprefix\fR (پیشوند) را برای اضافه شدن به مسیرهای مطلق در هنگام استفاده با \&\fB\-S\fR تعیین می‌کند. .IP \fB\-\-prefix\-strip=\fR\fIlevel\fR 4 .IX Item "--prefix-strip=level" مشخص می‌کند چه تعداد از پوشه‌های ابتدایی از مسیرهای مطلق ثابت حذف شوند. این گزینه بدون \&\fB\-\-prefix=\fR\fIprefix\fR هیچ اثری ندارد. .IP \fB\-\-show\-raw\-insn\fR 4 .IX Item "--show-raw-insn" هنگام دیس‌اسمبل دستورالعمل‌ها، بایت‌های دستور را علاوه بر فرم نمادین، به صورت هگزادسیمال نیز چاپ می‌کند. این رفتار پیش‌فرض است، مگر در حالتی که \&\fB\-\-prefix\-addresses\fR استفاده شود. .IP \fB\-\-no\-show\-raw\-insn\fR 4 .IX Item "--no-show-raw-insn" هنگام دیس‌اسمبل دستورالعمل‌ها، بایت‌های خام دستور را چاپ نمی‌کند. این حالت پیش‌فرض در زمان استفاده از \&\fB\-\-prefix\-addresses\fR است. .IP \fB\-\-insn\-width=\fR\fIwidth\fR 4 .IX Item "--insn-width=width" هنگام دیس‌اسمبل دستورالعمل‌ها، تعداد \fIwidth\fR بایت را در یک خط نمایش می‌دهد. .IP \fB\-\-visualize\-jumps[=color|=extended\-color|=off]\fR 4 .IX Item "--visualize-jumps[=color|=extended-color|=off]" پرش‌هایی که در داخل یک تابع باقی می‌مانند را با رسم نمودار اسکی (ASCII art) بین نشانی‌های مبدا و مقصد به تصویر می‌کشد. آرگومان اختیاری \&\fB=color\fR با استفاده از رنگ‌های ساده ترمینال، خروجی را رنگی می‌کند. متناوباً آرگومان \&\fB=extended\-color\fR با استفاده از رنگ‌های ۸ بیتی خروجی را رنگ‌آمیزی می‌کند، اما ممکن است در همه ترمینال‌ها به درستی نمایش داده نشود. .Sp اگر پس از فعال‌سازی قبلی، نیاز به غیرفعال کردن گزینه \&\fBvisualize\-jumps\fR باشد، از \&\fBvisualize\-jumps=off\fR استفاده کنید. .IP \fB\-\-disassembler\-color=off\fR 4 .IX Item "--disassembler-color=off" .PD 0 .IP \fB\-\-disassembler\-color=terminal\fR 4 .IX Item "--disassembler-color=terminal" .IP \fB\-\-disassembler\-color=on|color|colour\fR 4 .IX Item "--disassembler-color=on|color|colour" .IP \fB\-\-disassembler\-color=extended|extended\-color|extended\-colour\fR 4 .IX Item "--disassembler-color=extended|extended-color|extended-colour" .PD استفاده از رنگ‌آمیزی ساختار (Syntax Highlighting) را در خروجی دیس‌اسمبل فعال یا غیرفعال می‌کند. رفتار پیش‌فرض در زمان پیکربندی و کامپایل تعیین می‌شود. توجه داشته باشید که همه معماری‌ها از رنگ‌آمیزی ساختار پشتیبانی نمی‌کنند و بسته به ترمینال مورد استفاده، خروجی رنگی ممکن است به خوبی خوانا نباشد. .Sp آرگومان \&\fBon\fR با استفاده از رنگ‌های ساده ترمینال، رنگ‌آمیزی را فعال می‌سازد. .Sp آرگومان \&\fBterminal\fR همان کار را انجام می‌دهد، اما فقط در صورتی که دستگاه خروجی یک ترمینال باشد. .Sp آرگومان \&\fBextended\-color\fR مشابه آرگومان \&\fBon\fR است، اما از رنگ‌های ۸ بیتی استفاده می‌کند که ممکن است در همه ترمینال‌ها پشتیبانی نشود. .Sp آرگومان \&\fBoff\fR دیس‌اسمبل رنگی را غیرفعال می‌سازد. .IP \fB\-W[lLiaprmfFsoORtUuTgAckK]\fR 4 .IX Item "-W[lLiaprmfFsoORtUuTgAckK]" .PD 0 .IP \fB\-\-dwarf[=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 "--dwarf[=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 جلوگیری می‌کند. تنها هم‌سطح‌ها (Siblings) و فرزندان DIE مشخص‌شده چاپ خواهند شد. .Sp این گزینه می‌تواند همراه با \&\fB\-\-dwarf\-depth\fR استفاده شود. .IP \fB\-\-dwarf\-check\fR 4 .IX Item "--dwarf-check" بررسی‌های تکمیلی برای سازگاری اطلاعات Dwarf را فعال می‌کند. .IP \fB\-\-debug\-dir=\fR\f(BIdir\fR 4 .IX Item "--debug-dir=dir" هنگام جستجوی فایل‌های جداگانه اطلاعات اشکال‌زدایی، پوشه \fIdir\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 که به صورت فایل‌های خام متعدد نوشته شده تا با objcopy ترکیب شوند مفید است؛ چرا که objcopy می‌تواند آن‌ها را در بخش‌های مختلف ELF قرار دهد اما نمی‌تواند در اعضای مختلف یک دیکشنری واحد CTF بگذارد. .IP \fB\-\-sframe[=\fR\fIsection\fR\fB]\fR 4 .IX Item "--sframe[=section]" محتوای بخش SFrame مشخص‌شده را نمایش می‌دهد. .Sp به‌طور پیش‌فرض، محتوای بخشی با نام \fI.sframe\fR را نمایش می‌دهد که نام تولیدشده توسط \&\fBld\fR است. .IP \fB\-G\fR 4 .IX Item "-G" .PD 0 .IP \fB\-\-stabs\fR 4 .IX Item "--stabs" .PD محتوای کامل هر یک از بخش‌های درخواست‌شده را نمایش می‌دهد. محتوای بخش‌های .stab، .stab.index و .stab.excl را از یک فایل ELF نمایش می‌دهد. این گزینه تنها در سیستم‌هایی (مانند Solaris 2.0) مفید است که ورودی‌های جدول نماد اشکال‌زدایی \&\f(CW\*(C`.stab\*(C'\fR در یک بخش ELF نگهداری می‌شوند. در بیشتر فرمت‌های فایلی دیگر، ورودی‌های جدول نماد اشکال‌زدایی در میان نمادهای پیوند قرار می‌گیرند و در خروجی \&\fB\-\-syms\fR قابل مشاهده هستند. .IP \fB\-\-start\-address=\fR\fIaddress\fR 4 .IX Item "--start-address=address" نمایش داده‌ها را از نشانی مشخص‌شده آغاز می‌کند. این گزینه بر خروجی گزینه‌های \&\fB\-d\fR، \&\fB\-r\fR و \&\fB\-s\fR تأثیر می‌گذارد. .IP \fB\-\-stop\-address=\fR\fIaddress\fR 4 .IX Item "--stop-address=address" نمایش داده‌ها را در نشانی مشخص‌شده متوقف می‌کند. این گزینه بر خروجی گزینه‌های \&\fB\-d\fR، \&\fB\-r\fR و \&\fB\-s\fR تأثیر دارد. .IP \fB\-t\fR 4 .IX Item "-t" .PD 0 .IP \fB\-\-syms\fR 4 .IX Item "--syms" .PD ورودی‌های جدول نماد (Symbol Table) فایل را چاپ می‌کند. این گزینه مشابه اطلاعات ارائه‌شده توسط برنامه \&\fBnm\fR است، هرچند قالب نمایش تفاوت دارد. قالب خروجی بستگی به فرمت فایل مورد بررسی دارد، اما دو نوع اصلی وجود دارد. یکی از آن‌ها به این شکل است: .Sp .Vb 2 \& [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss \& [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred .Ve .Sp که در آن عدد درون کروشه شماره ورودی در جدول نمادها است، عدد \fIsec\fR شماره بخش است، مقدار \fIfl\fR بیت‌های فلگ نماد است، عدد \fIty\fR نوع نماد است، عدد \fIscl\fR کلاس ذخیره‌سازی نماد و مقدار \fInx\fR تعداد ورودی‌های کمکی مرتبط با نماد است. دو فیلد آخر مقدار نماد و نام آن هستند. .Sp فرمت خروجی متداول دیگر که معمولاً در فایل‌های مبتنی بر ELF دیده می‌شود، به شکل زیر است: .Sp .Vb 2 \& 00000000 l d .bss 00000000 .bss \& 00000000 g .text 00000000 fred .Ve .Sp در اینجا عدد اول مقدار نماد است (که گاهی اوقات به عنوان نشانی آن شناخته می‌شود). فیلد بعدی در واقع مجموعه‌ای از کاراکترها و فاصله‌ها است که بیت‌های فلگ تنظیم‌شده روی نماد را نشان می‌دهند. این کاراکترها در ادامه شرح داده شده‌اند. فیلد بعدی بخشی است که نماد با آن مرتبط است، یا \fI*ABS*\fR اگر بخش مطلق باشد (یعنی به هیچ بخشی متصل نباشد)، یا \fI*UND*\fR اگر در فایلی که استخراج می‌شود به بخش ارجاع داده شده اما در آنجا تعریف نشده باشد. .Sp پس از نام بخش فیلد دیگری قرار دارد که یک عدد است؛ این عدد برای نمادهای مشترک اندازه تراز (Alignment) و برای نمادهای دیگر اندازه (Size) نماد است. در نهایت نام نماد نمایش داده می‌شود. .Sp کاراکترهای فلگ به ۷ گروه زیر تقسیم می‌شوند: .RS 4 .ie n .IP """l""" 4 .el .IP \f(CWl\fR 4 .IX Item "l" .PD 0 .ie n .IP """g""" 4 .el .IP \f(CWg\fR 4 .IX Item "g" .ie n .IP """u""" 4 .el .IP \f(CWu\fR 4 .IX Item "u" .ie n .IP """!""" 4 .el .IP \f(CW!\fR 4 .IX Item "!" .PD نماد یک نماد محلی (l)، سراسری (g)، سراسری منحصربه‌فرد (u)، نه سراسری و نه محلی (یک فاصله) یا هم سراسری و هم محلی (!) است. یک نماد می‌تواند به دلایل مختلفی نه محلی و نه سراسری باشد (مثلاً به این دلیل که برای اشکال‌زدایی استفاده می‌شود)، اما اگر هم‌زمان هم محلی و هم سراسری باشد احتمالاً نشان‌دهنده یک اشکال (باگ) است. نمادهای سراسری منحصربه‌فرد یک افزونه گنو به مجموعه استانداردهای پیوند نماد ELF هستند. برای چنین نمادی لینکر پویا تضمین می‌کند که در کل فرآیند تنها یک نماد با این نام و نوع مورد استفاده قرار گیرد. .ie n .IP """w""" 4 .el .IP \f(CWw\fR 4 .IX Item "w" نماد ضعیف (w / Weak) یا قوی (یک فاصله) است. .ie n .IP """C""" 4 .el .IP \f(CWC\fR 4 .IX Item "C" نماد نشان‌دهنده یک سازنده (C / Constructor) یا یک نماد معمولی (یک فاصله) است. .ie n .IP """W""" 4 .el .IP \f(CWW\fR 4 .IX Item "W" نماد یک نماد اخطار (W / Warning) یا یک نماد معمولی (یک فاصله) است. نام یک نماد اخطار پیامی است که در صورت ارجاع به نمادِ پس از نماد اخطار نمایش داده می‌شود. .ie n .IP """I""" 4 .el .IP \f(CWI\fR 4 .IX Item "I" .PD 0 .ie n .IP """i""" 4 .el .IP \f(CWi\fR 4 .IX Item "i" .PD نماد یک ارجاع غیرمستقیم به نمادی دیگر (I)، تابعی که باید در حین پردازش بازنشانی ارزیابی شود (i) یا یک نماد معمولی (یک فاصله) است. .ie n .IP """d""" 4 .el .IP \f(CWd\fR 4 .IX Item "d" .PD 0 .ie n .IP """D""" 4 .el .IP \f(CWD\fR 4 .IX Item "D" .PD نماد یک نماد اشکال‌زدایی (d)، یک نماد پویا (D) یا یک نماد معمولی (یک فاصله) است. .ie n .IP """F""" 4 .el .IP \f(CWF\fR 4 .IX Item "F" .PD 0 .ie n .IP """f""" 4 .el .IP \f(CWf\fR 4 .IX Item "f" .ie n .IP """O""" 4 .el .IP \f(CWO\fR 4 .IX Item "O" .PD نماد نام یک تابع (F)، یک فایل (f)، یک شیء (O) یا فقط یک نماد معمولی (یک فاصله) است. .RE .RS 4 .RE .IP \fB\-T\fR 4 .IX Item "-T" .PD 0 .IP \fB\-\-dynamic\-syms\fR 4 .IX Item "--dynamic-syms" .PD ورودی‌های جدول نماد پویای فایل را چاپ می‌کند. این گزینه فقط برای اشیاء پویا مانند انواع خاصی از کتابخانه‌های اشتراکی معنادار است. این اطلاعات مشابه خروجی برنامه \&\fBnm\fR هنگام استفاده از گزینه \&\fB\-D\fR (\fB\-\-dynamic\fR) است. .Sp فرمت خروجی مشابه فرمت ارائه‌شده توسط گزینه \&\fB\-\-syms\fR است، با این تفاوت که یک فیلد اضافی پیش از نام نماد درج می‌شود که اطلاعات نسخه مرتبط با نماد را ارائه می‌دهد. اگر این نسخه نسخه پیش‌فرضی باشد که باید هنگام تفکیک ارجاعات بدون نسخه به نماد استفاده شود، به همان صورت نمایش داده می‌شود؛ در غیر این صورت درون پرانتز قرار می‌گیرد. .IP \fB\-\-special\-syms\fR 4 .IX Item "--special-syms" هنگام نمایش نمادها، نمادهایی را که از نظر مقصد به نوعی خاص تلقی می‌شوند و معمولاً مورد توجه کاربر نیستند نیز شامل می‌شود. .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=\fR\fI[default|invalid|locale|escape|hex|highlight]\fR 4 .IX Item "--unicode=[default|invalid|locale|escape|hex|highlight]" .PD نمایش کاراکترهای چندبایتی کدگذاری‌شده در فرمت UTF\-8 را در رشته‌ها کنترل می‌کند. پیش‌فرض (\fB\-\-unicode=default\fR) این است که با آن‌ها هیچ رفتار خاصی انجام نشود. گزینه \&\fB\-\-unicode=locale\fR توالی را در لوکال (محلی‌سازی) فعلی نمایش می‌دهد که ممکن است از آن‌ها پشتیبانی کند یا نکند. گزینه‌های \&\fB\-\-unicode=hex\fR و \&\fB\-\-unicode=invalid\fR آن‌ها را به صورت دنباله‌های بایت هگزادسیمال محصور در قلاب‌ها یا آکولادها نمایش می‌دهند. .Sp گزینه \&\fB\-\-unicode=escape\fR آن‌ها را به عنوان دنباله‌های اسکیپ (\fI\euxxxx\fR) نمایش می‌دهد و گزینه \&\fB\-\-unicode=highlight\fR آن‌ها را به صورت دنباله‌های اسکیپ برجسته‌شده با رنگ قرمز (در صورت پشتیبانی دستگاه خروجی) نشان می‌دهد. رنگ‌آمیزی برای جلب توجه به حضور توالی‌های یونیکد در جاهایی است که ممکن است انتظار آن‌ها نرود. .IP \fB\-V\fR 4 .IX Item "-V" .PD 0 .IP \fB\-\-version\fR 4 .IX Item "--version" .PD شماره نسخه \&\fBobjdump\fR را چاپ کرده و خارج می‌شود. .IP \fB\-x\fR 4 .IX Item "-x" .PD 0 .IP \fB\-\-all\-headers\fR 4 .IX Item "--all-headers" .PD تمام اطلاعات هدرهای موجود، از جمله جدول نمادها و ورودی‌های بازنشانی را نمایش می‌دهد. استفاده از \&\fB\-x\fR معادل تعیین تمام گزینه‌های \&\fB\-a \-f \-h \-p \-r \-t\fR است. .IP \fB\-w\fR 4 .IX Item "-w" .PD 0 .IP \fB\-\-wide\fR 4 .IX Item "--wide" .PD برخی خطوط را برای دستگاه‌های خروجی با بیش از ۸۰ ستون قالب‌بندی می‌کند. همچنین نام نمادها را هنگام نمایش کوتاه نمی‌کند. .IP \fB\-z\fR 4 .IX Item "-z" .PD 0 .IP \fB\-\-disassemble\-zeroes\fR 4 .IX Item "--disassemble-zeroes" .PD به‌طور معمول خروجی دیس‌اسمبل از بلوک‌های صفر صرف‌نظر می‌کند. این گزینه به دیس‌اسمبلر دستور می‌دهد که آن بلوک‌ها را نیز مانند هر داده دیگری دیس‌اسمبل کند. .IP \fB\-Z\fR 4 .IX Item "-Z" .PD 0 .IP \fB\-\-decompress\fR 4 .IX Item "--decompress" .PD گزینه \&\fB\-Z\fR برای استفاده همراه با گزینه \&\fB\-s\fR در نظر گرفته شده است. این گزینه به \&\fBobjdump\fR دستور می‌دهد هر بخش فشرده‌شده را قبل از نمایش محتوای آن از حالت فشرده خارج کند. .IP \fB@\fR\fIfile\fR 4 .IX Item "@file" گزینه‌های خط فرمان را از \fIfile\fR می‌خواند. گزینه‌های خوانده‌شده به جای گزینه اصلی @\fIfile\fR قرار می‌گیرند. اگر \fIfile\fR وجود نداشته باشد یا خوانده نشود، گزینه به صورت تحت‌اللفظی تلقی شده و حذف نخواهد شد. .Sp گزینه‌ها در \fIfile\fR با نویسه‌های فاصله‌ساز (Whitespace) از یکدیگر جدا می‌شوند. یک نویسه فاصله می‌تواند با محصور کردن کل گزینه در نقل‌قول تکی یا دوگانه در یک گزینه گنجانده شود. هر نویسه‌ای (از جمله بک‌اسلش) می‌تواند با قرار دادن یک بک‌اسلش پیش از آن اضافه شود. خود \fIfile\fR می‌تواند شامل گزینه‌های @\fIfile\fR دیگری باشد؛ هر یک از این گزینه‌ها به‌طور بازگشتی پردازش خواهند شد. .SH "همچنین ببینید (SEE ALSO)" .IX Header "همچنین ببینید (SEE ALSO)" \&\fBnm\fR\|(1)، \fBreadelf\fR\|(1) و مدخل‌های Info برای \fIbinutils\fR. .SH "حق نشر (COPYRIGHT)" .IX Header "حق نشر (COPYRIGHT)" کپی‌رایت \(co ۱۹۹۱\-۲۰۲۶ بنیاد نرم‌افزار آزاد (Free Software Foundation, Inc.) .PP مجوز کپی، توزیع و/یا تغییر این سند تحت شرایط «مجوز مستندات آزاد گنو» (GNU Free Documentation License)، نسخه ۱.۳ یا هر نسخه بعدی منتشرشده توسط بنیاد نرم‌افزارهای آزاد اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متون روی جلد و بدون متون پشت جلد. نسخه‌ای از این مجوز در بخش موسوم به «GNU Free Documentation License» گنجانده شده است.