nm - แสดงสัญลักษณ์จากไฟล์อ็อบเจ็กต์
สรุป
nm -a|--debug-SYMS -G|--extern เท่านั้น -B -C|--demangle= สไตล์ -D|แบบไดนามิก -S|--print ขนาด -s|--print-armap -A|-o|--print ชื่อไฟล์ -n|-v|--numeric เรียงลำดับ -p|--no-การจัดเรียง -r|--reverse เรียงลำดับ --size เรียงลำดับ -ยู|--undefined เท่านั้น t- สมุฎฐาน |--radix = สมุฎฐาน -P|--portability --target = bfdname -f รูป |--format = รูป --defined เท่านั้น -l|--line ตัวเลข --no-demangle -V|--version -X 32_64 --ช่วยด้วย objfile … GNUนาโนเมตร แสดงสัญลักษณ์จากไฟล์อ็อบเจ็กต์ objfile …. ถ้าไม่มีไฟล์อ็อบเจ็กต์แสดงเป็นอาร์กิวเมนต์นาโนเมตร สันนิษฐานไฟล์ a.out . สำหรับแต่ละสัญลักษณ์,นาโนเมตร แสดงให้เห็นว่า: * ค่าสัญลักษณ์ใน radix ที่เลือกโดยตัวเลือก (ดูด้านล่าง) หรือเลขฐานสิบหกตามค่าเริ่มต้น * ประเภทสัญลักษณ์ ใช้ชนิดต่อไปนี้อย่างน้อยที่สุด อื่น ๆ เช่นกันขึ้นอยู่กับรูปแบบไฟล์วัตถุ หากเป็นตัวพิมพ์เล็ก ถ้าเป็นตัวพิมพ์ใหญ่สัญลักษณ์เป็นแบบสากล (ภายนอก) ค่าของสัญลักษณ์เป็นค่าสัมบูรณ์และจะไม่มีการเปลี่ยนแปลงโดยการเชื่อมโยงเพิ่มเติม B สัญลักษณ์นี้อยู่ในส่วนข้อมูลที่ไม่ได้เริ่มต้น (เรียกว่า BSS) C สัญลักษณ์เป็นเรื่องธรรมดา สัญลักษณ์ทั่วไปคือข้อมูลที่ไม่ได้เริ่มต้น เมื่อเชื่อมโยงสัญลักษณ์ร่วมกันหลาย ๆ อาจปรากฏขึ้นพร้อมกัน หากสัญลักษณ์ถูกกำหนดไว้ที่ใดก็ได้สัญลักษณ์ทั่วไปจะถือว่าเป็นข้อมูลอ้างอิงที่ไม่ได้ระบุไว้ D สัญลักษณ์อยู่ในส่วนข้อมูลที่เริ่มต้น G สัญลักษณ์อยู่ในส่วนข้อมูลที่เริ่มต้นสำหรับวัตถุขนาดเล็ก รูปแบบไฟล์อ็อบเจ็กต์บางชนิดอนุญาตให้มีการเข้าถึงวัตถุข้อมูลขนาดเล็กได้มากขึ้นเช่นตัวแปรอินทราเน็ตทั่วโลกแทนที่จะเป็นอาร์เรย์ส่วนกลางขนาดใหญ่ ผม สัญลักษณ์นี้เป็นการอ้างอิงทางอ้อมไปยังสัญลักษณ์อื่น นี่คือ GNUextension ไปยังรูปแบบไฟล์ object a.out ซึ่งใช้กันน้อยมาก ยังไม่มีข้อความ สัญลักษณ์นี้เป็นสัญลักษณ์การแก้จุดบกพร่อง R สัญลักษณ์นี้อยู่ในส่วนข้อมูลแบบอ่านอย่างเดียว S สัญลักษณ์นี้อยู่ในส่วนข้อมูลที่ไม่ได้ตั้งใจสำหรับวัตถุขนาดเล็ก T สัญลักษณ์อยู่ในส่วนของข้อความ (code) ยู สัญลักษณ์ไม่ได้กำหนดไว้ V สัญลักษณ์เป็นวัตถุที่อ่อนแอ เมื่อสัญลักษณ์ที่กำหนดไว้ที่อ่อนแอจะเชื่อมโยงกับสัญลักษณ์ที่กำหนดไว้ตามปกติสัญลักษณ์ที่กำหนดตามปกติถูกใช้โดยไม่มีข้อผิดพลาด เมื่อมีการเชื่อมโยงสัญลักษณ์ที่ไม่ได้ระบุอย่างอ่อนและสัญลักษณ์ไม่ได้กำหนดค่าของสัญลักษณ์อ่อนจะกลายเป็นศูนย์ที่ไม่มีข้อผิดพลาด W สัญลักษณ์นี้เป็นสัญลักษณ์ที่อ่อนแอซึ่งไม่ได้ถูกระบุโดยเฉพาะว่าเป็นสัญลักษณ์ของวัตถุที่อ่อนแอ เมื่อสัญลักษณ์ที่กำหนดไว้ที่อ่อนแอจะเชื่อมโยงกับสัญลักษณ์ที่กำหนดไว้ตามปกติสัญลักษณ์ที่กำหนดตามปกติถูกใช้โดยไม่มีข้อผิดพลาด เมื่อมีการเชื่อมโยงสัญลักษณ์ที่ไม่ได้ระบุอย่างอ่อนและสัญลักษณ์ไม่ได้กำหนดค่าของสัญลักษณ์อ่อนจะกลายเป็นศูนย์ที่ไม่มีข้อผิดพลาด - สัญลักษณ์เป็นสัญลักษณ์ stabs ในไฟล์วัตถุ a.out ในกรณีนี้ค่าต่อไปที่พิมพ์คือแทงทุ่งอื่น stabs desc field และ stabs ใช้สัญลักษณ์ Stabs เพื่อเก็บข้อมูลการดีบัก ? ไม่รู้จักประเภทสัญลักษณ์หรือรูปแบบไฟล์อ็อบเจ็กต์เฉพาะ * ชื่อสัญลักษณ์ ตัวเลือกแบบยาวและแบบสั้นที่แสดงในที่นี้เป็นทางเลือกเทียบเท่า -A -o --print ชื่อไฟล์ นำแต่ละสัญลักษณ์โดยใช้ชื่อของไฟล์ข้อมูลที่ป้อน (หรือสมาชิกที่เก็บถาวร) ที่มีการค้นพบแทนที่จะระบุไฟล์อินพุตเพียงครั้งเดียวก่อนสัญลักษณ์ทั้งหมด -a --debug-SYMS แสดงสัญลักษณ์ทั้งหมดแม้แต่สัญลักษณ์ดีบั๊กเท่านั้น; ปกติเหล่านี้จะไม่อยู่ในรายการ -B เหมือนกับ--format = BSD (สำหรับความเข้ากันได้กับ MIPS)นาโนเมตร). -C --demangle = สไตล์ ถอดรหัส ( demangle ) ชื่อสัญลักษณ์ระดับต่ำลงในชื่อระดับผู้ใช้ นอกเหนือจากการลบเครื่องหมายเริ่มต้นที่ prepended โดยระบบทำให้ C ++ ชื่อฟังก์ชันสามารถอ่านได้ คอมไพเลอร์ที่แตกต่างกันมีสไตล์ที่แตกต่างกัน สามารถใช้อาร์กิวเมนต์สไตล์ demangling ได้เพื่อเลือกรูปแบบการทำให้หย่อนชี้ที่เหมาะสมสำหรับคอมไพเลอร์ของคุณ --no-demangle อย่ารื้อถอนชื่อสัญลักษณ์ระดับต่ำ นี่เป็นค่าเริ่มต้น -D แบบไดนามิก แสดงสัญลักษณ์แบบไดนามิกแทนที่จะเป็นสัญลักษณ์ปกติ นี่เป็นเพียงความหมายสำหรับวัตถุแบบไดนามิกเท่านั้นเช่นไลบรารีที่ใช้ร่วมกันบางประเภท -f รูป --format = รูป ใช้รูปแบบเอาต์พุต รูป , ซึ่งสามารถเป็น "bsd", "sysv" หรือ "posix" ค่าเริ่มต้นคือ "bsd" เฉพาะอักขระตัวแรกของ รูป เป็นสำคัญ; สามารถเป็นได้ทั้งตัวพิมพ์ใหญ่หรือเล็ก -G --extern เท่านั้น แสดงเฉพาะสัญลักษณ์ภายนอก -l --line ตัวเลข สำหรับแต่ละสัญลักษณ์ให้ใช้ข้อมูลการดีบักเพื่อค้นหาชื่อไฟล์และหมายเลขบรรทัด สำหรับสัญลักษณ์ที่กำหนดให้มองหาหมายเลขบรรทัดของที่อยู่ของสัญลักษณ์ สำหรับสัญลักษณ์ที่ไม่ได้ระบุให้มองหาหมายเลขบรรทัดของรายการย้ายที่หมายถึงสัญลักษณ์ หากพบข้อมูลหมายเลขบรรทัดให้พิมพ์หลังจากข้อมูลสัญลักษณ์อื่น ๆ -n -v --numeric เรียงลำดับ เรียงลำดับสัญลักษณ์ตามที่อยู่ของพวกเขาแทนที่จะเรียงตามตัวอักษรตามชื่อ -p --no-การจัดเรียง อย่ารำคาญที่จะเรียงลำดับสัญลักษณ์ในลำดับใด ๆ พิมพตามลําดับที่ตองการ -P --portability ใช้รูปแบบเอาต์พุตมาตรฐาน POSIX.2 แทนรูปแบบเริ่มต้น เทียบเท่า-f posix. -S --print ขนาด พิมพ์ขนาดของสัญลักษณ์ที่กำหนดไว้สำหรับรูปแบบเอาต์พุต "bsd" -s --print-armap เมื่อแสดงสัญลักษณ์จากสมาชิกถาวรให้ใส่ดัชนี: การทำแผนที่ (เก็บไว้ในที่เก็บข้อมูลโดยเท่ หรือranlib) ซึ่งโมดูลมีคำจำกัดความสำหรับชื่อ -r --reverse เรียงลำดับ ย้อนกลับลำดับการจัดเรียง (ไม่ว่าจะเป็นตัวเลขหรือตัวอักษร); ปล่อยให้คนสุดท้ายมาก่อน --size เรียงลำดับ เรียงสัญลักษณ์ตามขนาด ขนาดถูกคำนวณเป็นความแตกต่างระหว่างค่าของสัญลักษณ์และค่าของสัญลักษณ์กับค่าที่สูงกว่าถัดไป ขนาดของสัญลักษณ์ถูกพิมพ์มากกว่าค่า t- สมุฎฐาน --radix = สมุฎฐาน ใช้ สมุฎฐาน เป็นค่า radix สำหรับพิมพ์ค่าสัญลักษณ์ มันต้องเป็นd สำหรับทศนิยม,โอ สำหรับ octal หรือx สำหรับเลขฐานสิบหก --target = bfdname ระบุรูปแบบรหัสอ็อบเจ็กต์นอกเหนือจากรูปแบบเริ่มต้นของระบบ -ยู --undefined เท่านั้น แสดงเฉพาะสัญลักษณ์ที่ไม่ได้กำหนดไว้ (ซึ่งอยู่ภายนอกไฟล์แต่ละไฟล์) --defined เท่านั้น แสดงเฉพาะสัญลักษณ์ที่กำหนดไว้สำหรับแต่ละไฟล์อ็อบเจ็กต์ -V --version แสดงหมายเลขรุ่นของนาโนเมตร และออก -X ตัวเลือกนี้ถูกละเว้นสำหรับความเข้ากันได้กับรุ่น AIX ของนาโนเมตร. ใช้เวลาหนึ่งพารามิเตอร์ซึ่งต้องเป็นสตริง32_64. โหมดเริ่มต้นของ AIXนาโนเมตร สอดคล้องกับ-X 32ซึ่งไม่ได้รับการสนับสนุนโดย GNUนาโนเมตร. --ช่วยด้วย แสดงข้อมูลสรุปของตัวเลือกนาโนเมตร และออก เท่ (1), objdump (1), ranlib (1) และรายการข้อมูลสำหรับ binutils . สำคัญ: ใช้ ชาย คำสั่ง ( % ชาย ) เพื่อดูว่ามีการใช้คำสั่งใดในคอมพิวเตอร์เครื่องใดเครื่องหนึ่งของคุณ รายละเอียด
ตัวเลือก
ดูสิ่งนี้ด้วย