EnglishFrenchGermanItalianPortugueseRussianSpanish

ไอคอน Fav ของ OnWorks

mips-linux-gnu-objdump - ออนไลน์ใน Cloud

เรียกใช้ mips-linux-gnu-objdump ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง mips-linux-gnu-objdump ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


objdump - แสดงข้อมูลจากไฟล์อ็อบเจ็กต์

เรื่องย่อ


objdump [-a|--archive-ส่วนหัว]
[-b bfdname|--เป้าหมาย=bfdname]
[-C|--demangle[=สไตล์] ]
[-d|--ถอดประกอบ]
[-D|--disassemble-ทั้งหมด]
[-z|--ถอดชิ้นส่วน-ศูนย์]
[-EB|-EL|--endian={ใหญ่ | เล็กน้อย }]
[-f|--file-headers]
[-F|--file-offsets]
[--file-start-บริบท]
[-g|--debugging]
[-e|--debugging-tags]
[-h|--section-ส่วนหัว|--ส่วนหัว]
[-i|--ข้อมูล]
[-j ส่วน|--ส่วน=ส่วน]
[-l|--line-หมายเลข]
[-S|--แหล่งที่มา]
[-m เครื่อง|--สถาปัตยกรรม=เครื่อง]
[-M ตัวเลือก|--disassembler-ตัวเลือก=ตัวเลือก]
[-p|--private-headers]
[-P ตัวเลือก|--ส่วนตัว=ตัวเลือก]
[-r|--reloc]
[-R|--ไดนามิก-reloc]
[-s|--full-contents]
[-W[lLiaprmfFsoRt]|
--แคระ[=rawline,=decodedline,=info,=abbrev,=pubnames]
[=aranges,=macro,=frames,=frames-interp,=str,=loc]
[=ช่วง,=pubtypes,=trace_info,=trace_abbrev]
[=trace_aranges,=gdb_index]
[-G|--stabs]
[-t|--syms]
[-T|--ไดนามิก-syms]
[-x|--ส่วนหัวทั้งหมด]
[-w|--กว้าง]
[--เริ่มต้นที่อยู่=ที่อยู่]
[--stop-address=ที่อยู่]
[--prefix-ที่อยู่]
[--[ไม่-]show-raw-insn]
[--adjust-vma=ชดเชย]
[--พิเศษ-syms]
[--คำนำหน้า=อุปสรรค]
[--prefix-สตริป=ระดับ]
[--insn-ความกว้าง=ความกว้าง]
[-V|--รุ่น]
[-H|--ช่วยด้วย]
objfile...

DESCRIPTION


objdump แสดงข้อมูลเกี่ยวกับไฟล์อ็อบเจ็กต์ตั้งแต่หนึ่งไฟล์ขึ้นไป ตัวเลือกควบคุมอะไร
ข้อมูลเฉพาะที่จะแสดง ข้อมูลนี้ส่วนใหญ่มีประโยชน์สำหรับโปรแกรมเมอร์ที่
กำลังทำงานเกี่ยวกับเครื่องมือคอมไพล์ ซึ่งต่างจากโปรแกรมเมอร์ที่ต้องการ
โปรแกรมที่จะคอมไพล์และทำงาน

objfile... เป็นไฟล์อ็อบเจ็กต์ที่จะตรวจสอบ เมื่อคุณระบุที่เก็บถาวร objdump แสดงให้เห็นว่า
ข้อมูลเกี่ยวกับแต่ละไฟล์อ็อบเจ็กต์สมาชิก

OPTIONS


ตัวเลือกแบบยาวและแบบสั้นที่แสดงที่นี่เป็นทางเลือกนั้นเทียบเท่ากัน อย่างน้อย
ทางเลือกหนึ่งจากรายการ -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T ,-V,-x จะต้องเป็น
ให้

-a
--archive-ส่วนหัว
ถ้าข้อใดข้อหนึ่ง objfile ไฟล์เป็นไฟล์เก็บถาวร แสดงข้อมูลส่วนหัวของไฟล์เก็บถาวร (ใน a
รูปแบบคล้ายกับ ls -l). นอกเหนือจากข้อมูลที่คุณสามารถระบุด้วย ar tv, objdump
-a แสดงรูปแบบไฟล์อ็อบเจ็กต์ของสมาชิกเก็บถาวรแต่ละราย

--adjust-vma=ชดเชย
เมื่อทำการดัมพ์ข้อมูล ให้เติม . ก่อน ชดเชย ไปยังที่อยู่ของส่วนทั้งหมด นี่คือ
มีประโยชน์หากที่อยู่ส่วนไม่ตรงกับตารางสัญลักษณ์ ซึ่งสามารถ
เกิดขึ้นเมื่อใส่ส่วนที่อยู่เฉพาะเมื่อใช้รูปแบบที่ไม่สามารถ
แสดงที่อยู่ของส่วน เช่น a.out

-b bfdname
--เป้าหมาย=bfdname
ระบุว่ารูปแบบอ็อบเจ็กต์โค้ดสำหรับไฟล์อ็อบเจ็กต์คือ bfdname. ตัวเลือกนี้อาจ
ไม่จำเป็น objdump สามารถจดจำรูปแบบต่างๆ ได้โดยอัตโนมัติ

ตัวอย่างเช่น

objdump -b oasys -m vax -h fu.o

แสดงข้อมูลสรุปจากส่วนหัวของส่วน (-h) จาก fu.oซึ่งเป็น
ระบุอย่างชัดเจน (-m) เป็นไฟล์วัตถุ VAX ในรูปแบบที่สร้างโดยOasys
คอมไพเลอร์ คุณสามารถแสดงรายการรูปแบบที่มีให้ด้วย -i ตัวเลือก

-C
--demangle[=สไตล์]
ถอดรหัส (demangle) ชื่อสัญลักษณ์ระดับต่ำเป็นชื่อระดับผู้ใช้ นอกจากการลบใด ๆ
ขีดล่างเริ่มต้นที่นำหน้าโดยระบบ ซึ่งจะทำให้ชื่อฟังก์ชัน C++ สามารถอ่านได้
คอมไพเลอร์ที่ต่างกันมีรูปแบบการจัดการที่แตกต่างกัน รูปแบบการแยกส่วนเสริม
สามารถใช้อาร์กิวเมนต์เพื่อเลือกรูปแบบการแยกส่วนที่เหมาะสมสำหรับคอมไพเลอร์ของคุณ

-g
--debugging
แสดงข้อมูลการดีบัก นี้พยายามที่จะแยกวิเคราะห์ STABS และ IEEE รูปแบบการดีบัก
ข้อมูลที่เก็บไว้ในไฟล์และพิมพ์ออกมาโดยใช้ไวยากรณ์ C เช่น ถ้าไม่ใช่ทั้ง
พบรูปแบบเหล่านี้ตัวเลือกนี้ตกกลับมาที่ -W ตัวเลือกในการพิมพ์ DWARF . ใด ๆ
ข้อมูลในไฟล์.

-e
--debugging-tags
ชอบ -gแต่ข้อมูลถูกสร้างขึ้นในรูปแบบที่เข้ากันได้กับเครื่องมือ ctags

-d
--ถอดประกอบ
แสดงคำช่วยจำของแอสเซมเบลอร์สำหรับคำแนะนำเครื่องจาก objfile. นี้
ตัวเลือกเฉพาะถอดชิ้นส่วนที่คาดว่าจะมีคำแนะนำ

-D
--disassemble-ทั้งหมด
ชอบ -dแต่แยกส่วนเนื้อหาของทุกส่วน ไม่ใช่เฉพาะส่วนที่คาดว่าจะ
มีคำแนะนำ

ตัวเลือกนี้ยังมีผลเล็กน้อยต่อการถอดประกอบคำสั่งในโค้ด
ส่วนต่างๆ เมื่อตัวเลือก -d มีผล objdump จะถือว่าสัญลักษณ์ใด ๆ ที่มีอยู่ใน
ส่วนรหัสเกิดขึ้นบนขอบเขตระหว่างคำสั่งและจะปฏิเสธ
แยกชิ้นส่วนข้ามพรมแดนดังกล่าว เมื่อตัวเลือก -D มีผลบังคับใช้อย่างไรก็ตามสิ่งนี้
สมมติฐานถูกระงับ ซึ่งหมายความว่าเป็นไปได้สำหรับผลลัพธ์ของ -d และ -D
แตกต่างออกไป ตัวอย่างเช่น หากข้อมูลถูกจัดเก็บไว้ในส่วนของโค้ด

หากเป้าหมายเป็นสถาปัตยกรรม ARM สวิตช์นี้จะมีผลบังคับ
disassembler เพื่อถอดรหัสชิ้นส่วนของข้อมูลที่พบในส่วนของรหัสราวกับว่าเป็น
คำแนะนำ

--prefix-ที่อยู่
เมื่อแยกชิ้นส่วน ให้พิมพ์ที่อยู่ที่สมบูรณ์ในแต่ละบรรทัด นี่คือพี่
รูปแบบการถอดประกอบ

-EB
-EL
--endian={ใหญ่|น้อย}
ระบุ endianness ของไฟล์อ็อบเจ็กต์ สิ่งนี้มีผลกับการถอดแยกชิ้นส่วนเท่านั้น นี้สามารถ
มีประโยชน์เมื่อทำการแยกส่วนรูปแบบไฟล์ที่ไม่อธิบาย endianness
ข้อมูลเช่น S-records

-f
--file-headers
แสดงข้อมูลสรุปจากส่วนหัวโดยรวมของแต่ละ objfile ไฟล์

-F
--file-offsets
เมื่อแยกชิ้นส่วน เมื่อใดก็ตามที่สัญลักษณ์ปรากฏขึ้น จะแสดงไฟล์ด้วย
ออฟเซ็ตของขอบเขตของข้อมูลที่กำลังจะถูกทิ้ง หากมีการข้ามศูนย์
จากนั้นเมื่อการถอดประกอบดำเนินการต่อ ให้บอกผู้ใช้ว่ามีการข้ามเลขศูนย์กี่ตัวและไฟล์
ออฟเซ็ตของตำแหน่งที่การถอดประกอบดำเนินการต่อ เมื่อทิ้งส่วน
แสดงไฟล์ออฟเซ็ตของตำแหน่งที่ดัมพ์เริ่มต้น

--file-start-บริบท
ระบุว่าเมื่อแสดงซอร์สโค้ด/การถอดประกอบที่คั่นระหว่างรายการ (สมมติ -S) จาก
ไฟล์ที่ยังไม่ได้แสดง ขยายบริบทไปยังจุดเริ่มต้นของไฟล์

-h
--section-ส่วนหัว
--ส่วนหัว
แสดงข้อมูลสรุปจากส่วนหัวของไฟล์อ็อบเจ็กต์

ส่วนของไฟล์อาจถูกย้ายไปยังที่อยู่ที่ไม่เป็นมาตรฐาน ตัวอย่างเช่น โดยใช้ตัว
-Ttext, -Tdata,หรือ -Tbss ตัวเลือกเพื่อ ld. อย่างไรก็ตาม รูปแบบไฟล์อ็อบเจ็กต์บางรูปแบบ เช่น
a.out อย่าเก็บที่อยู่เริ่มต้นของส่วนไฟล์ ในสถานการณ์เหล่านั้น
แม้ว่า ld ย้ายส่วนต่าง ๆ อย่างถูกต้องโดยใช้ objdump -h เพื่อแสดงรายการไฟล์
ส่วนหัวของส่วนไม่สามารถแสดงที่อยู่ที่ถูกต้องได้ แต่จะแสดงตามปกติ
ที่อยู่ซึ่งโดยนัยสำหรับเป้าหมาย

-H
--ช่วยด้วย
พิมพ์สรุปตัวเลือกไปที่ objdump และออก

-i
--ข้อมูล
แสดงรายการที่แสดงสถาปัตยกรรมและรูปแบบอ็อบเจ็กต์ทั้งหมดที่มีให้
สเปคกับ -b or -m.

-j ชื่อ
--ส่วน=ชื่อ
แสดงข้อมูลเฉพาะส่วน ชื่อ.

-l
--line-หมายเลข
ติดป้ายกำกับจอแสดงผล (โดยใช้ข้อมูลการดีบัก) ด้วยชื่อไฟล์และซอร์สไลน์
ตัวเลขที่สอดคล้องกับรหัสวัตถุหรือ relocs ที่แสดง มีประโยชน์เฉพาะกับ -d, -D,หรือ
-r.

-m เครื่อง
--สถาปัตยกรรม=เครื่อง
ระบุสถาปัตยกรรมที่จะใช้เมื่อแยกส่วนประกอบไฟล์อ็อบเจ็กต์ สิ่งนี้มีประโยชน์
เมื่อแยกส่วนไฟล์อ็อบเจ็กต์ที่ไม่อธิบายข้อมูลสถาปัตยกรรม เช่น
เป็น S-records คุณสามารถแสดงรายการสถาปัตยกรรมที่มีอยู่ด้วย -i ตัวเลือก

หากเป้าหมายเป็นสถาปัตยกรรม ARM สวิตช์นี้จะมีผลเพิ่มเติม มัน
จำกัดการถอดประกอบเฉพาะคำแนะนำที่สนับสนุนโดยสถาปัตยกรรม
ระบุโดย เครื่อง. หากจำเป็นต้องใช้สวิตช์นี้เนื่องจากไฟล์อินพุต
ไม่มีข้อมูลสถาปัตยกรรมใด ๆ แต่ก็ต้องการถอดแยกชิ้นส่วนด้วย
คำแนะนำทั้งหมดใช้ -marm.

-M ตัวเลือก
--disassembler-ตัวเลือก=ตัวเลือก
ส่งข้อมูลเฉพาะเป้าหมายไปยังตัวแยกชิ้นส่วน รองรับเฉพาะบางเป้าหมาย
หากจำเป็นต้องระบุตัวเลือก disassembler มากกว่าหนึ่งตัว ให้เลือกหลายตัว -M
สามารถใช้ตัวเลือกหรือสามารถรวมกันเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาค

หากเป้าหมายเป็นสถาปัตยกรรม ARM สามารถใช้สวิตช์นี้เพื่อเลือก
ใช้ชุดชื่อรีจิสเตอร์ในระหว่างการถอดประกอบ ระบุ -M reg-names-std (
ค่าเริ่มต้น) จะเลือกชื่อรีจิสเตอร์ตามที่ใช้ในชุดคำสั่งของ ARM
เอกสารประกอบ แต่ด้วยการลงทะเบียน 13 ชื่อ 'sp' การลงทะเบียน 14 ชื่อ 'lr' และการลงทะเบียน
15 เรียกว่า 'พีซี' ระบุ -M reg-names-apcs จะเลือกชื่อชุดที่ใช้โดยARM
ขั้นตอนการโทรมาตรฐานในขณะที่ระบุ -M reg-names-raw จะใช้ r ตาม
ตามหมายเลขทะเบียน

นอกจากนี้ยังมีรูปแบบการตั้งชื่อการลงทะเบียน APCS สองแบบที่เปิดใช้งานโดย -M ทะเบียน-
ชื่อ-atpcs และ -M reg-names-special-atpcs ซึ่งใช้การเรียกขั้นตอน ARM/Thumb
ข้อตกลงการตั้งชื่อมาตรฐาน (ไม่ว่าจะด้วยชื่อทะเบียนปกติหรือแบบพิเศษ
ลงทะเบียนชื่อ).

ตัวเลือกนี้ยังสามารถใช้สำหรับสถาปัตยกรรม ARM เพื่อบังคับให้ตัวถอดประกอบเป็น
แปลคำสั่งทั้งหมดเป็นคำสั่ง Thumb โดยใช้สวิตช์
--disassembler-options=แรง-นิ้วหัวแม่มือ. สิ่งนี้มีประโยชน์เมื่อพยายามถอดแยกชิ้นส่วน
รหัสหัวแม่มือที่ผลิตโดยคอมไพเลอร์อื่น

สำหรับ x86 บางตัวเลือกจะทำซ้ำฟังก์ชันของ -m เปลี่ยน แต่ให้ปลีกย่อย
การควบคุมเม็ดเล็ก การเลือกหลายรายการจากตัวเลือกต่อไปนี้อาจระบุเป็นเครื่องหมายจุลภาค
สตริงที่แยกจากกัน

"x86-64"
"ไอ386"
"ไอ8086"
เลือกการถอดประกอบสำหรับสถาปัตยกรรมที่กำหนด

"อินเทล"
"แอท"
เลือกระหว่างโหมดไวยากรณ์ของ Intel และโหมดไวยากรณ์ของ AT&T

"เอเอ็มดี64"
"อินเทล64"
เลือกระหว่าง AMD64 ISA และ Intel64 ISA

"อินเทลช่วยจำ"
"แอท-ช่วยจำ"
เลือกระหว่างโหมดช่วยจำของ Intel และโหมดช่วยจำของ AT&T หมายเหตุ: "intel-mnemonic"
หมายถึง "intel" และ "att-mnemonic" หมายถึง "att"

"addr64"
"addr32"
"addr16"
"ดาต้า32"
"ดาต้า16"
ระบุขนาดที่อยู่เริ่มต้นและขนาดตัวถูกดำเนินการ สี่ตัวเลือกนี้จะเป็น
แทนที่หาก "x86-64", "i386" หรือ "i8086" ปรากฏขึ้นภายหลังในสตริงตัวเลือก

"คำต่อท้าย"
เมื่ออยู่ในโหมด AT&T ให้สั่งให้ disassembler พิมพ์คำต่อท้ายช่วยในการจำแม้เมื่อ
คำต่อท้ายสามารถอนุมานได้โดยตัวถูกดำเนินการ

สำหรับพาวเวอร์พีซี booke ควบคุมการถอดประกอบคำสั่ง BookE 32 และ 64 เลือก
การถอดแยกชิ้นส่วน PowerPC และ PowerPC64 ตามลำดับ e300 เลือกถอดชิ้นส่วนสำหรับ
ครอบครัว e300 440 เลือกการถอดแยกชิ้นส่วนสำหรับ PowerPC 440 ppcps เลือกถอดประกอบ
สำหรับคู่คำสั่งเดียวของ PPC750CL

สำหรับ MIPS ตัวเลือกนี้จะควบคุมการพิมพ์ชื่อช่วยในการจำคำสั่งและการลงทะเบียน
ชื่อในคำแนะนำในการถอดประกอบ การเลือกหลายรายการจากตัวเลือกต่อไปนี้อาจเป็น
ระบุเป็นสตริงที่คั่นด้วยเครื่องหมายจุลภาค และตัวเลือกที่ไม่ถูกต้องจะถูกละเว้น:

"ไม่มีนามแฝง"
พิมพ์คำสั่งช่วยในการจำคำสั่ง 'ดิบ' แทนคำสั่งช่วยจำคำสั่งหลอก
เช่น พิมพ์ 'daddu' หรือ 'or' แทน 'move', 'sll' แทน 'nop' เป็นต้น

"มส"
คำแนะนำในการถอดประกอบ MSA

"คุณธรรม"
ถอดคำสั่ง Virtualization ASE

"เอ็กซ์พีเอ"
ถอดคำสั่ง eXtended Physical Address (XPA) ASE

"gpr-names=เอบีไอ"
พิมพ์ชื่อ GPR (ทะเบียนเอนกประสงค์) ตามความเหมาะสมสำหรับ ABI ที่ระบุ
โดยค่าเริ่มต้น ชื่อ GPR จะถูกเลือกตาม ABI ของไบนารีเป็น
ถอดประกอบ

"fpr-names=เอบีไอ"
พิมพ์ชื่อ FPR (การลงทะเบียนจุดลอยตัว) ตามความเหมาะสมกับ ABI ที่ระบุ
ตามค่าเริ่มต้น หมายเลข FPR จะถูกพิมพ์แทนที่จะเป็นชื่อ

"cp0-names=โค้ง"
พิมพ์ CP0 (ตัวประมวลผลร่วมการควบคุมระบบ ตัวประมวลผลร่วม 0) ลงทะเบียนชื่อเป็น
เหมาะสมกับ CPU หรือสถาปัตยกรรมที่ระบุโดย โค้ง. โดยค่าเริ่มต้น CP0
ชื่อการลงทะเบียนถูกเลือกตามสถาปัตยกรรมและ CPU ของไบนารี
กำลังถอดประกอบ

"hwr-names=โค้ง"
พิมพ์ชื่อ HWR (การลงทะเบียนฮาร์ดแวร์ ใช้โดยคำสั่ง "rdhwr") เป็น
เหมาะสมกับ CPU หรือสถาปัตยกรรมที่ระบุโดย โค้ง. โดยค่าเริ่มต้น HWR ชื่อ
ถูกเลือกตามสถาปัตยกรรมและ CPU ของไบนารีที่เป็นอยู่
ถอดประกอบ

"ชื่อเร็ก=เอบีไอ"
พิมพ์ชื่อ GPR และ FPR ตามความเหมาะสมกับ ABI ที่เลือก

"ชื่อเร็ก=โค้ง"
พิมพ์ชื่อรีจิสเตอร์เฉพาะ CPU (รีจิสเตอร์ CP0 และชื่อ HWR) ตามความเหมาะสมสำหรับ
CPU หรือสถาปัตยกรรมที่เลือก

สำหรับตัวเลือกใด ๆ ที่ระบุไว้ข้างต้น ช่วยเหลือ or โค้ง อาจระบุเป็น เป็นตัวเลข เพื่อที่จะมี
ตัวเลขที่พิมพ์แทนชื่อสำหรับประเภททะเบียนที่เลือก คุณสามารถแสดงรายการ
ค่าที่มีอยู่ของ ช่วยเหลือ และ โค้ง โดยใช้โปรแกรม --ช่วยด้วย ตัวเลือก

สำหรับ VAX คุณสามารถระบุที่อยู่รายการฟังก์ชันด้วย -M รายการ:0xf00ba. คุณสามารถใช้ได้
หลายครั้งเพื่อถอดแยกไฟล์ไบนารี VAX ที่ไม่มีสัญลักษณ์
ตาราง (เช่น ROM ทิ้ง) ในกรณีเหล่านี้ มาสก์การป้อนฟังก์ชันจะเป็น
ถอดรหัสเป็นคำสั่ง VAX ซึ่งอาจนำไปสู่ส่วนที่เหลือของฟังก์ชันที่เป็น
ถอดประกอบผิด

-p
--private-headers
พิมพ์ข้อมูลเฉพาะสำหรับรูปแบบไฟล์อ็อบเจ็กต์ ข้อมูลที่แน่นอน
พิมพ์ขึ้นอยู่กับรูปแบบไฟล์อ็อบเจ็กต์ สำหรับรูปแบบไฟล์อ็อบเจ็กต์บางรูปแบบ no
ข้อมูลเพิ่มเติมจะถูกพิมพ์

-P ตัวเลือก
--ส่วนตัว=ตัวเลือก
พิมพ์ข้อมูลเฉพาะสำหรับรูปแบบไฟล์อ็อบเจ็กต์ อาร์กิวเมนต์ ตัวเลือก is
รายการที่คั่นด้วยเครื่องหมายจุลภาคที่ขึ้นอยู่กับรูปแบบ (รายการของตัวเลือกจะปรากฏขึ้น
ด้วยความช่วยเหลือ).

สำหรับ XCOFF ตัวเลือกที่ใช้ได้คือ:

"หัวข้อ"
"เอาท์"
"ส่วน"
"ซิมส์"
"รีล็อกส์"
"ลินิน"
"ตัวโหลด"
"ยกเว้น"
"พิมพ์ดีด"
"ตรวจสอบย้อนกลับ"
"ท็อก"
"ข้อมูล"

รูปแบบออบเจ็กต์บางรูปแบบไม่สนับสนุนตัวเลือกนี้ โดยเฉพาะรูปแบบ ELF ไม่ได้ใช้
มัน

-r
--reloc
พิมพ์รายการย้ายตำแหน่งของไฟล์ ถ้าใช้กับ -d or -D, การย้ายถิ่นฐานคือ
พิมพ์สลับกับการถอดประกอบ

-R
--ไดนามิก-reloc
พิมพ์รายการย้ายตำแหน่งแบบไดนามิกของไฟล์ สิ่งนี้มีความหมายสำหรับไดนามิกเท่านั้น
อ็อบเจ็กต์ เช่น ไลบรารีที่แบ่งใช้บางประเภท ส่วน -r, ถ้าใช้กับ -d or -D,
การย้ายถิ่นฐานจะถูกพิมพ์สลับกับการถอดประกอบ

-s
--full-contents
แสดงเนื้อหาทั้งหมดของส่วนใด ๆ ที่ร้องขอ โดยค่าเริ่มต้นทั้งหมดไม่ว่างเปล่า
จะแสดงส่วนต่างๆ

-S
--แหล่งที่มา
แสดงซอร์สโค้ดผสมกับการถอดแยกชิ้นส่วน ถ้าเป็นไปได้ หมายถึง -d.

--คำนำหน้า=อุปสรรค
ระบุ อุปสรรค เพื่อเพิ่มเส้นทางที่แน่นอนเมื่อใช้กับ -S.

--prefix-สตริป=ระดับ
ระบุจำนวนชื่อไดเร็กทอรีเริ่มต้นที่จะตัดออกจากพาธสัมบูรณ์แบบเดินสาย
ไม่มีผลอะไรถ้าไม่มี --คำนำหน้า=อุปสรรค.

--show-raw-insn
เมื่อถอดประกอบคำสั่ง ให้พิมพ์คำสั่งเป็นฐานสิบหกและสัญลักษณ์
รูปร่าง. นี่เป็นค่าเริ่มต้นยกเว้นเมื่อ --prefix-ที่อยู่ ถูกนำมาใช้.

--no-show-ดิบ-insn
เมื่อถอดประกอบคำสั่ง ห้ามพิมพ์ไบต์ของคำสั่ง นี้เป็น
ค่าเริ่มต้นเมื่อ --prefix-ที่อยู่ ถูกนำมาใช้.

--insn-ความกว้าง=ความกว้าง
แสดง ความกว้าง ไบต์ในบรรทัดเดียวเมื่อถอดประกอบคำแนะนำ

-W[lLiaprmfFsoRt]
--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames]
--dwarf[=aranges,=macro,=frames,=frames-interp,=str,=loc]
--คนแคระ[=ช่วง,=pubtypes,=trace_info,=trace_abbrev]
--คนแคระ[=trace_aranges,=gdb_index]
แสดงเนื้อหาของส่วนการดีบักในไฟล์ หากมี ถ้าอย่างใดอย่างหนึ่ง
ของตัวอักษรหรือคำที่เป็นตัวเลือกตามสวิตช์แล้วพบเฉพาะข้อมูลเหล่านั้น
ส่วนที่เฉพาะเจาะจงจะถูกทิ้ง

โปรดทราบว่าไม่มีตัวเลือกตัวอักษรเดียวที่จะแสดงเนื้อหาของส่วนการติดตามหรือ
.gdb_index.

หมายเหตุ: ผลลัพธ์จาก =ข้อมูล ตัวเลือกยังสามารถได้รับผลกระทบจากตัวเลือก
--คนแคระลึกที่ --dwarf-start และ --dwarf-check.

--dwarf-deep=n
จำกัดการถ่ายโอนข้อมูลของส่วน ".debug_info" เป็น n เด็ก. สิ่งนี้มีประโยชน์เฉพาะกับ
--dwarf=info. ค่าเริ่มต้นคือการพิมพ์ DIE ทั้งหมด ค่าพิเศษ 0 สำหรับ n จะยัง
มีผลกระทบนี้

ด้วยค่าที่ไม่ใช่ศูนย์สำหรับ n, ตายที่หรือลึกกว่า n ระดับจะไม่ถูกพิมพ์ NS
ช่วงสำหรับ n เป็นศูนย์

--dwarf-start=n
พิมพ์เฉพาะ DIE ที่ขึ้นต้นด้วยหมายเลข DIE n. สิ่งนี้มีประโยชน์เฉพาะกับ
--dwarf=info.

หากระบุไว้ ตัวเลือกนี้จะระงับการพิมพ์ข้อมูลส่วนหัวและทั้งหมด
ตายก่อนหมายเลขตาย n. เฉพาะพี่น้องและลูกของ DIE ที่ระบุจะ
จะพิมพ์

สามารถใช้ควบคู่กับ --คนแคระลึก.

--dwarf-check
เปิดใช้งานการตรวจสอบเพิ่มเติมเพื่อความสอดคล้องของข้อมูลคนแคระ

-G
--stabs
แสดงเนื้อหาทั้งหมดของส่วนใด ๆ ที่ร้องขอ แสดงเนื้อหาของ
.stab และ .stab.index และ .stab.excl ส่วนจากไฟล์ ELF สิ่งนี้มีประโยชน์เท่านั้น
บนระบบ (เช่น Solaris 2.0) ที่ ".stab" การดีบักรายการตารางสัญลักษณ์เป็น
ดำเนินการในส่วนเอลฟ์ ในรูปแบบไฟล์อื่นๆ ส่วนใหญ่ การดีบักรายการตารางสัญลักษณ์
ถูกสอดแทรกด้วยสัญลักษณ์เชื่อมโยง และมองเห็นได้ใน --syms เอาท์พุต

--เริ่มต้นที่อยู่=ที่อยู่
เริ่มแสดงข้อมูลตามที่อยู่ที่ระบุ สิ่งนี้ส่งผลต่อผลลัพธ์ของ -d, -r
และ -s ตัวเลือก

--stop-address=ที่อยู่
หยุดแสดงข้อมูลตามที่อยู่ที่ระบุ สิ่งนี้ส่งผลต่อผลลัพธ์ของ -d, -r
และ -s ตัวเลือก

-t
--syms
พิมพ์รายการตารางสัญลักษณ์ของไฟล์ นี้คล้ายกับข้อมูล
จัดทำโดย nm โปรแกรมแม้ว่ารูปแบบการแสดงผลจะแตกต่างกัน รูปแบบของ
ผลลัพธ์ขึ้นอยู่กับรูปแบบของไฟล์ที่ถูกดัมพ์ แต่มีสอง main
ประเภท หนึ่งมีลักษณะเช่นนี้:

[ 4](วินาที 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss
[ 6] (วินาที 1) (fl 0x00) (ty 0) (scl 2) (nx 0) 0x00000000 เฟรด

โดยที่ตัวเลขในวงเล็บเหลี่ยมคือจำนวนรายการในสัญลักษณ์
ตารางที่ วินาที หมายเลขคือหมายเลขส่วน, the fl ค่าคือบิตของธงสัญลักษณ์
ty ตัวเลขเป็นประเภทสัญลักษณ์ scl หมายเลขคือคลาสการจัดเก็บของสัญลักษณ์และ
nx ค่าคือจำนวนของรายการเสริมที่เกี่ยวข้องกับสัญลักษณ์ สุดท้าย
สองช่องคือค่าของสัญลักษณ์และชื่อ

รูปแบบเอาต์พุตทั่วไปอื่น ๆ ซึ่งมักจะเห็นในไฟล์ที่ใช้ ELF มีลักษณะดังนี้:

00000000 ld .bss 00000000 .bss
00000000 ก. ข้อความ 00000000 fred

ในที่นี้ ตัวเลขแรกคือค่าของสัญลักษณ์ (บางครั้งเรียกว่าที่อยู่)
ฟิลด์ต่อไปเป็นชุดของอักขระและช่องว่างที่ระบุแฟล็กบิต
ที่อยู่บนสัญลักษณ์ อักขระเหล่านี้อธิบายไว้ด้านล่าง ต่อไปคือ
ส่วนที่เกี่ยวข้องกับสัญลักษณ์หรือ *เอบีเอส* ถ้าส่วนนั้นสมบูรณ์ (เช่น
ไม่เกี่ยวข้องกับส่วนใดๆ) หรือ *UND* ถ้าส่วนนั้นถูกอ้างอิงในไฟล์
ถูกทิ้ง แต่ไม่ได้กำหนดไว้ที่นั่น

หลังจากชื่อส่วนมาช่องอื่น ตัวเลข ซึ่งสำหรับสัญลักษณ์ทั่วไปคือ
การจัดตำแหน่งและสัญลักษณ์อื่นๆ คือ ขนาด ในที่สุดชื่อของสัญลักษณ์จะปรากฏขึ้น

อักขระธงแบ่งออกเป็น 7 กลุ่มดังนี้:

"ล"
"NS"
"ยู"
"!" สัญลักษณ์คือโลคัล (l), global (g), โกลบอลที่ไม่ซ้ำกัน (u) ไม่ใช่ global หรือ local
(ช่องว่าง) หรือทั้ง global และ local (!) สัญลักษณ์ไม่สามารถเป็นได้ทั้งแบบท้องถิ่นหรือแบบสากล
ด้วยเหตุผลหลายประการ เช่น เพราะมันใช้สำหรับดีบัก แต่มันคือ
อาจเป็นข้อบ่งชี้ของข้อผิดพลาดหากเคยเป็นทั้งในประเทศและทั่วโลก มีเอกลักษณ์
สัญลักษณ์สากลเป็นส่วนเสริมของ GNU ไปยังชุดมาตรฐานของการผูกสัญลักษณ์ ELF
สำหรับสัญลักษณ์ดังกล่าว ตัวเชื่อมโยงแบบไดนามิกจะทำให้แน่ใจว่าในกระบวนการทั้งหมด
มีเพียงหนึ่งสัญลักษณ์ที่มีชื่อนี้และประเภทในการใช้งาน

"w" สัญลักษณ์อ่อนแอ (w) หรือ แข็งแกร่ง (ช่องว่าง)

"C" สัญลักษณ์แสดงถึงตัวสร้าง (C) หรือสัญลักษณ์ธรรมดา (ช่องว่าง)

"W" สัญลักษณ์คือคำเตือน (W) หรือสัญลักษณ์ปกติ (ช่องว่าง) ชื่อสัญลักษณ์เตือน
เป็นข้อความให้แสดงหากสัญลักษณ์ตามหลังสัญลักษณ์เตือนเป็นตลอดไป
อ้างอิง

"ผม"
"i" สัญลักษณ์คือการอ้างอิงทางอ้อมไปยังสัญลักษณ์อื่น (I) ซึ่งเป็นฟังก์ชันที่จะ
ประเมินระหว่างการประมวลผล reloc (i) หรือสัญลักษณ์ปกติ (ช่องว่าง)

"ง"
"D" สัญลักษณ์คือสัญลักษณ์การดีบัก (d) หรือสัญลักษณ์ไดนามิก (D) หรือสัญลักษณ์ปกติ (a
ช่องว่าง).

"F"
"NS"
"O" สัญลักษณ์คือชื่อของฟังก์ชัน (F) หรือไฟล์ (f) หรือวัตถุ (O) หรือเพียงแค่ a
สัญลักษณ์ปกติ (ช่องว่าง)

-T
--ไดนามิก-syms
พิมพ์รายการตารางสัญลักษณ์ไดนามิกของไฟล์ สิ่งนี้มีความหมายสำหรับ .เท่านั้น
ออบเจ็กต์ไดนามิก เช่น ไลบรารีที่แบ่งใช้บางประเภท สิ่งนี้คล้ายกับ
ข้อมูลที่จัดทำโดย nm โปรแกรมเมื่อได้รับ -D (--พลวัต) ตัวเลือก

--พิเศษ-syms
เมื่อแสดงสัญลักษณ์ ให้หมายความรวมถึงสัญลักษณ์ที่เป้าหมายถือว่าพิเศษในบางส่วนด้วย
ทางและที่ปกติจะไม่เป็นที่สนใจของผู้ใช้

-V
--รุ่น
พิมพ์หมายเลขเวอร์ชันของ objdump และออก

-x
--ส่วนหัวทั้งหมด
แสดงข้อมูลส่วนหัวที่มีอยู่ทั้งหมด รวมทั้งตารางสัญลักษณ์และการย้ายตำแหน่ง
รายการ. โดยใช้ -x เทียบเท่ากับการระบุทั้งหมดของ -a -f -h -p -r -t.

-w
--กว้าง
จัดรูปแบบบางบรรทัดสำหรับอุปกรณ์ส่งออกที่มีมากกว่า 80 คอลัมน์ อย่าเลย
ตัดทอนชื่อสัญลักษณ์เมื่อปรากฏขึ้น

-z
--ถอดชิ้นส่วน-ศูนย์
โดยปกติเอาต์พุตการแยกส่วนจะข้ามบล็อกของศูนย์ ตัวเลือกนี้ชี้นำ
disassembler เพื่อแยกชิ้นส่วนบล็อกเหล่านั้น เช่นเดียวกับข้อมูลอื่น ๆ

@ไฟล์
อ่านตัวเลือกบรรทัดคำสั่งจาก ไฟล์. ตัวเลือกที่อ่านจะถูกแทรกแทนที่
ต้นฉบับ @ไฟล์ ตัวเลือก. ถ้า ไฟล์ ไม่มีอยู่หรือไม่สามารถอ่านได้ดังนั้นตัวเลือก
จะได้รับการปฏิบัติอย่างแท้จริงและจะไม่ถูกลบออก

ตัวเลือกใน ไฟล์ ถูกคั่นด้วยช่องว่าง อาจรวมอักขระช่องว่าง
ในตัวเลือกโดยล้อมรอบตัวเลือกทั้งหมดในเครื่องหมายคำพูดเดี่ยวหรือคู่ ใด ๆ
อักขระ (รวมถึงแบ็กสแลช) อาจรวมด้วยคำนำหน้าอักขระเป็น
รวมกับแบ็กสแลช NS ไฟล์ ตัวเองอาจมี @ เพิ่มเติมไฟล์ ตัวเลือก; ใด ๆ
ตัวเลือกดังกล่าวจะได้รับการประมวลผลซ้ำ

ใช้ mips-linux-gnu-objdump ออนไลน์โดยใช้บริการ onworks.net


Ad


Ad

โปรแกรมออนไลน์ Linux และ Windows ล่าสุด