این دستور aarch64-linux-gnu-nm است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
nm - لیست نمادها از فایل های شی
خلاصه
نانومتر [-A|-o|--چاپ-فایل-نام] [-a|--debug-syms]
[-B|--format=bsd] [-C|--دمانگل[=سبک]]
[-D|-- پویا] [-fقالب|--فرمت=قالب]
[-g|--فقط خارجی] [-h|--کمک]
[-l|--خط-اعداد] [-n|-v|- مرتب سازی عددی]
[-P|--قابل حمل بودن] [-p|--بدون مرتب سازی]
[-r|-- مرتب سازی معکوس] [-S|-- چاپ اندازه]
[-s|--print-armap] [-t رادیككس|--رادیکس=رادیككس]
[-u|-فقط تعریف نشده] [-V|- نسخه]
[-X 32_64] [-فقط تعریف شده] [-- بدون درهم ریختن]
[-- پلاگین نام] [---size-sort] [--syms-special]
[-- مصنوعی] [--target=bfdname]
[مبهم کردن...]
شرح
گنو nm نمادها را از فایل های شی فهرست می کند مبهم کردن.... اگر هیچ فایل شی به عنوان فهرست نشده باشد
استدلال ها، nm فایل را فرض می کند a.out.
برای هر نماد، nm نشان می دهد:
· مقدار نماد، در ریشه انتخاب شده توسط گزینه ها (به زیر مراجعه کنید)، یا هگزادسیمال توسط
به طور پیش فرض
· نوع نماد. حداقل از انواع زیر استفاده می شود. دیگران نیز هستند،
بسته به فرمت فایل شی اگر حروف کوچک باشد، نماد معمولاً محلی است. اگر
با حروف بزرگ، نماد جهانی (خارجی) است. با این حال چند علامت کوچک وجود دارد
که برای نمادهای جهانی خاص ("u"، "v" و "w") نشان داده شده است.
"A" مقدار نماد مطلق است و با پیوند بیشتر تغییر نخواهد کرد.
"ب"
"b" نماد در بخش داده های بدون مقدار اولیه (معروف به BSS) است.
"C" نماد مشترک است. نمادهای رایج دادههای بدون مقدار اولیه هستند. هنگام پیوند دادن،
چندین نماد مشترک ممکن است با یک نام ظاهر شوند. اگر نماد تعریف شده باشد
در هر کجا، نمادهای رایج به عنوان ارجاعات تعریف نشده تلقی می شوند.
"D"
"d" نماد در بخش داده های اولیه است.
"G"
"g" نماد در یک بخش داده اولیه برای اشیاء کوچک است. چند فایل شی
فرمتها امکان دسترسی کارآمدتر به اشیاء دادههای کوچک، مانند int سراسری را فراهم میکنند
متغیر بر خلاف یک آرایه جهانی بزرگ.
"i" برای فایلهای با فرمت PE این نشان میدهد که نماد در قسمتی خاص است
پیاده سازی DLL ها برای فایل های فرمت ELF این نشان می دهد که نماد یک است
تابع غیر مستقیم این یک پسوند گنو برای مجموعه استاندارد نماد ELF است
انواع نمادی را نشان می دهد که اگر با جابجایی به آن ارجاع داده نمی شود
به آدرس آن ارزیابی شود، اما در عوض باید در زمان اجرا فراخوانی شود. زمان اجرا
execution سپس مقدار مورد استفاده در جابجایی را برمی گرداند.
"من" نماد اشاره غیر مستقیم به نماد دیگری است.
"N" نماد یک نماد اشکال زدایی است.
"p" نمادها در بخش باز کردن پشته قرار دارند.
"R"
"r" نماد در بخش داده فقط خواندنی است.
"س"
"s" نماد در یک بخش داده بدون مقدار اولیه برای اشیاء کوچک است.
"T"
"t" نماد در قسمت متن (کد) است.
"U" نماد تعریف نشده است.
"u" نماد یک نماد جهانی منحصر به فرد است. این یک پسوند گنو برای مجموعه استاندارد است
پیوندهای نماد ELF. برای چنین نمادی، پیوند دهنده پویا از آن اطمینان حاصل می کند
در کل فرآیند فقط یک نماد با این نام و نوع استفاده می شود.
"V"
"v" نماد یک شی ضعیف است. وقتی یک نماد تعریف شده ضعیف با یک نماد معمولی مرتبط است
نماد تعریف شده، نماد تعریف شده عادی بدون خطا استفاده می شود. وقتی ضعیف
نماد تعریف نشده پیوند داده شده است و نماد تعریف نشده است، ارزش ضعیف است
نماد بدون خطا صفر می شود. در برخی از سیستم ها، حروف بزرگ نشان می دهد که a
مقدار پیش فرض مشخص شده است.
"W"
"w" نماد یک نماد ضعیف است که به طور خاص به عنوان یک شی ضعیف برچسب گذاری نشده است
سمبل. هنگامی که یک نماد با تعریف ضعیف با یک نماد تعریف شده معمولی مرتبط می شود،
نماد تعریف شده عادی بدون خطا استفاده می شود. هنگامی که یک نماد ضعیف تعریف نشده است
پیوند داده شده و نماد تعریف نشده است، مقدار نماد در a تعیین می شود
روشی خاص برای سیستم بدون خطا. در برخی از سیستم ها، حروف بزرگ نشان می دهد که a
مقدار پیش فرض مشخص شده است.
"-" نماد یک علامت خنجر در یک فایل شی a.out است. در این مورد، بعدی
مقادیر چاپ شده عبارتند از قسمت stabs other، قسمت stabs desc و نوع stab.
نمادهای Stabs برای نگهداری اطلاعات اشکال زدایی استفاده می شود.
"؟" نوع نماد ناشناخته است یا فرمت فایل شی خاص است.
· نام نماد.
OPTIONS
شکلهای بلند و کوتاه گزینهها، که در اینجا به عنوان جایگزین نشان داده شدهاند، معادل هستند.
-A
-o
--چاپ-فایل-نام
قبل از هر نماد با نام فایل ورودی (یا عضو بایگانی) که در آن قرار داشت قرار دهید
یافت شد، به جای شناسایی فایل ورودی فقط یک بار، قبل از همه نمادهای آن.
-a
--debug-syms
نمایش همه نمادها، حتی نمادهای فقط دیباگر. معمولاً اینها در لیست نیستند.
-B همان --format=bsd (برای سازگاری با MIPS nm).
-C
--demangle[=سبک]
رمزگشایی (جدا کردن) نام نمادهای سطح پایین به نام های سطح کاربر. علاوه بر حذف هر کدام
زیرخط اولیه که توسط سیستم اضافه شده است، نام توابع C++ را قابل خواندن می کند.
کامپایلرهای مختلف سبکهای مانگلینگ متفاوتی دارند. سبک جدا کردن اختیاری
می توان از آرگومان برای انتخاب یک سبک جداسازی مناسب برای کامپایلر خود استفاده کرد.
-- بدون درهم ریختن
نام نمادهای سطح پایین را جدا نکنید. این پیش فرض است.
-D
-- پویا
نمادهای پویا را به جای نمادهای معمولی نمایش دهید. این فقط معنادار است
برای اشیاء پویا، مانند انواع خاصی از کتابخانه های مشترک.
-f قالب
--فرمت=قالب
از فرمت خروجی استفاده کنید قالب، که می تواند "bsd"، "sysv" یا "posix" باشد. پیش فرض است
"bsd". فقط شخصیت اول از قالب قابل توجه است؛ می تواند بالا باشد یا
حروف کوچک
-g
--فقط خارجی
فقط نمادهای خارجی را نمایش دهید.
-h
--کمک
نمایش خلاصه ای از گزینه های به nm و خارج شوید.
-l
--خط-اعداد
برای هر نماد، از اطلاعات اشکال زدایی برای یافتن نام فایل و شماره خط استفاده کنید.
برای یک نماد تعریف شده، به دنبال شماره خط نشانی نماد باشید. برای یک
نماد تعریف نشده، به دنبال شماره خط ورودی جابجایی باشید که به آن اشاره دارد
سمبل. اگر اطلاعات شماره خط یافت شد، آن را بعد از نماد دیگر چاپ کنید
اطلاعات.
-n
-v
- مرتب سازی عددی
نمادها را بر اساس آدرسشان به جای حروف الفبا مرتب کنید
نامها
-p
--بدون مرتب سازی
برای مرتب کردن نمادها به هر ترتیبی زحمت نکشید. آنها را به ترتیبی که می بینید چاپ کنید.
-P
--قابل حمل بودن
به جای فرمت پیش فرض از فرمت خروجی استاندارد POSIX.2 استفاده کنید. معادل با
-f پوزيكس.
-r
-- مرتب سازی معکوس
ترتیب مرتب سازی را معکوس کنید (اعم از عددی یا الفبایی). بگذار آخرین بیاید
برای اولین بار.
-S
-- چاپ اندازه
مقدار و اندازه نمادهای تعریف شده برای سبک خروجی "bsd" را چاپ کنید. این گزینه
هیچ تاثیری برای قالبهای شی که اندازه نمادها را ثبت نمیکنند، ندارد، مگر اینکه ---size-sort
همچنین استفاده می شود که در این صورت یک اندازه محاسبه شده نمایش داده می شود.
-s
--print-armap
هنگام فهرست کردن نمادها از اعضای بایگانی، این فهرست را شامل کنید: یک نقشه برداری (ذخیره شده در
بایگانی توسط ar or ranlib) کدام ماژول ها حاوی تعاریف برای کدام نام هستند.
-t رادیككس
--رادیکس=رادیككس
استفاده کنید رادیككس به عنوان ریشه برای چاپ مقادیر نماد. باید اینگونه باشد d برای اعشار، o
برای اکتال، یا x برای هگزادسیمال
-u
-فقط تعریف نشده
فقط نمادهای تعریف نشده را نمایش دهید (آنهایی که خارج از هر فایل شی).
-V
- نسخه
نمایش شماره نسخه از nm و خارج شوید.
-X این گزینه برای سازگاری با نسخه AIX نادیده گرفته می شود nm. یکی طول می کشد
پارامتری که باید رشته باشد 32_64. حالت پیش فرض AIX nm مربوط به
-X 32، که توسط گنو پشتیبانی نمی شود nm.
-فقط تعریف شده
فقط نمادهای تعریف شده برای هر فایل شی را نمایش دهید.
-- پلاگین نام
افزونه فراخوانی شده را بارگیری کنید نام برای افزودن پشتیبانی برای انواع هدف اضافی. این گزینه است
تنها در صورتی در دسترس است که زنجیره ابزار با فعال بودن پشتیبانی افزونه ساخته شده باشد.
---size-sort
نمادها را بر اساس اندازه مرتب کنید. اندازه به عنوان تفاوت بین مقدار محاسبه می شود
نماد و مقدار نماد با مقدار بالاتر بعدی. اگر خروجی "bsd".
قالب استفاده می شود اندازه نماد چاپ شده است، به جای مقدار، و -S باید
به منظور چاپ در اندازه و ارزش استفاده شود.
--syms-special
نمادهایی را نشان دهید که دارای معنای خاص هدف هستند. این نمادها هستند
معمولاً توسط هدف برای برخی پردازش های خاص استفاده می شود و معمولاً مفید نیستند
هنگامی که در لیست نمادهای معمولی گنجانده شود. به عنوان مثال برای ARM این گزینه را هدف قرار می دهد
از نمادهای نگاشت مورد استفاده برای علامت گذاری انتقال بین کد ARM، کد THUMB صرفنظر می کند
و داده ها.
-- مصنوعی
نمادهای مصنوعی را در خروجی قرار دهید. اینها نمادهای خاصی هستند که توسط
پیوند دهنده برای اهداف مختلف آنها به طور پیش فرض نشان داده نمی شوند زیرا بخشی از آنها نیستند
کد منبع اصلی باینری
--target=bfdname
یک قالب کد شی غیر از قالب پیش فرض سیستم خود را مشخص کنید.
@پرونده
گزینه های خط فرمان را از پرونده. گزینه های خوانده شده به جای گزینه درج می شوند
اصلی @پرونده گزینه. اگر پرونده وجود ندارد، یا نمی توان آن را خواند، پس گزینه
به معنای واقعی کلمه رفتار خواهد شد و حذف نخواهد شد.
گزینه ها در پرونده با فضای خالی از هم جدا می شوند. ممکن است یک کاراکتر فضای خالی گنجانده شود
در یک گزینه با احاطه کردن کل گزینه به صورت تک یا دو گیومه. هر
کاراکتر (از جمله بک اسلش) ممکن است با پیشوند کردن کاراکتر to be گنجانده شود
همراه با اسلش. در پرونده ممکن است خود حاوی @ اضافی باشدپرونده گزینه ها؛ هر
چنین گزینه هایی به صورت بازگشتی پردازش می شوند.
از aarch64-linux-gnu-nm به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید