DSYMUTIL(1) LLVM DSYMUTIL(1)

dsymutil - دستکاری فایل‌های نماد اشکال‌زدایی آرشیو شدهٔ DWARF

dsymutil [options] executable

دستور dsymutil اطلاعات اشکال‌زدایی DWARF موجود در فایل‌های شیء را برای فایل اجرایی executable با استفاده از اطلاعات نمادهای اشکال‌زدایی موجود در جدول نماد آن پیوند می‌دهد. به‌طور پیش‌فرض، اطلاعات اشکال‌زدایی پیوند داده‌شده در یک بستهٔ .dSYM هم‌نام با فایل اجرایی قرار می‌گیرد.

نوع مورد نظر جدول شتاب‌دهنده را مشخص می‌کند. گزینه‌های معتبر عبارتند از 'Apple'، 'Dwarf'، 'Default' و 'None'.
اطلاعات اشکال‌زدایی DWARF را فقط برای انواع معماری CPU مشخص‌شده پیوند می‌دهد. معماری‌ها را می‌توان با نام مشخص کرد. هنگام استفاده از این گزینه، در صورتی که هر یک از معماری‌ها نتوانند به درستی پیوند داده شوند، خطایی بازگردانده می‌شود. این گزینه می‌تواند چندین بار مشخص شود؛ یک‌بار به ازای هر معماری مورد نظر. به‌طور پیش‌فرض تمام معماری‌های CPU پیوند داده خواهند شد و هر معماری که نتواند به درستی پیوند یابد باعث بازگرداندن خطا از سوی dsymutil می‌شود.
پسوند گونهٔ ساخت مورد استفاده برای ساخت فایل اجرایی را مشخص می‌کند. یک محصول ممکن است چندین گونهٔ باینری داشته باشد که هر کدام کمی متفاوت ساخته شده‌اند. رایج‌ترین گونه‌های ساخت 'debug' و 'profile' هستند. تنظیم متغیر محیطی DYLD_IMAGE_SUFFIX باعث می‌شود dyld گونهٔ مشخص‌شده را در زمان اجرا بارگذاری کند.
نقشهٔ اشکال‌زدایی (debug-map) مربوط به executable (فهرست فایل‌های شیء حاوی اطلاعات اشکال‌زدایی) را در قالب YAML نمایش داده و خارج می‌شود. هیچ پیوند DWARFای انجام نخواهد شد.

دایرکتوری حاوی فایل‌های dSYM را برای جستجو مشخص می‌کند. این گزینه برای کتابخانه‌های ادغام‌پذیر استفاده می‌شود تا dsymutil بداند فایل‌های dSYM حاوی اطلاعات اشکال‌زدایی مربوط به نمادهای موجود در آن کتابخانه‌ها را در کجا جستجو کند.

هنگام صدور باینری‌های universal، از یک سرایند ۶۴ بیتی استفاده می‌کند.
یک فایل مسطح (flat) dSYM تولید می‌کند. پسوند .dwarf به انتهای نام فایل اجرایی افزوده خواهد شد، مگر اینکه فایل خروجی با استفاده از گزینهٔ -o مشخص شده باشد.
یک بازتولیدکننده (reproducer) متشکل از فایل‌های شیء ورودی تولید می‌کند. نام مستعار برای --reproducer=GenerateOnExit.
نمایش این پیام راهنما.
تعیین می‌کند که آیا swiftmoduleهای باینری ساخته‌شده از فایل‌های متنی .swiftinterface در بستهٔ dSYM کپی شوند یا خیر. این‌ها معمولاً فقط از طریق SDK ارائه می‌شوند (زیرا واسط‌های متنی نیازمند تکامل کتابخانه هستند) و بنابراین کپی کردن آن‌ها درون بسته هدر دادن فضا است. در صورتی که swiftmoduleها با موارد موجود در SDK تفاوت دارند، این گزینه را فعال کنید.
باعث می‌شود که یک متغیر ایستا، تابع دربرگیرندهٔ خود را حفظ کند، حتی اگر در غیر این صورت حذف می‌شد.
برچسب زمانی (timestamp) فایل‌های شیء را بررسی نمی‌کند.
عدم استفاده از ODR (قاعدهٔ یک تعریف یا One Definition Rule) برای یکتاسازی انواع ++C.
عملیات پیوند را در حافظه انجام می‌دهد، اما فایل نتیجه را صادر نمی‌کند.
برچسب زمانی را برای فایل‌های swiftmodule بررسی نمی‌کند.
حداکثر تعداد (n) ریسمان‌های هم‌زمان را برای استفاده هنگام پیوند چندین معماری مشخص می‌کند.
مسیرهای فایل‌های شیء (و نه مسیرهای سورس) را قبل از پردازش بازنگاشت می‌کند. از این گزینه برای اشیاء Clang که مکان حافظهٔ پنهان ماژول آن‌ها با استفاده از -fdebug-prefix-map بازنگاشت شده است استفاده کنید، تا به dsymutil در یافتن حافظهٔ پنهان ماژول‌های Clang کمک شود.
یک path را جهت اضافه شدن به ابتدای تمام مسیرهای فایل شیء نماد اشکال‌زدایی مشخص می‌کند.
یک path جایگزین را برای قرار دادن بستهٔ dSYM مشخص می‌کند. مسیر پیش‌فرض بستهٔ dSYM با افزودن .dSYM به انتهای نام فایل اجرایی ایجاد می‌شود.
فعال‌سازی حالت بی‌صدا و محدود کردن خروجی.
پیام‌های remark فاقد مکان‌های معتبر اشکال‌زدایی را نادیده می‌گیرد. بدون این گزینه، تمامی remarkها حفظ می‌شوند.
قالبی که هنگام سریال‌سازی remarkهای پیوند داده شده استفاده می‌شود را مشخص می‌کند.
دایرکتوری مورد نظر را جهت الحاق به ابتدای مسیرهای فایل‌های remark خارجی مشخص می‌کند.
حالت تولید بازتولیدکننده (reproducer) را مشخص می‌کند. گزینه‌های معتبر عبارتند از 'GenerateOnExit'، 'GenerateOnCrash'، 'Use' و 'Off'.
آمارهایی دربارهٔ سهم هر فایل شیء در اطلاعات اشکال‌زدایی پیوند داده شده چاپ می‌کند. این گزینه پس از پیوند، جدولی شامل نام فایل شیء، اندازهٔ اطلاعات اشکال‌زدایی در فایل شیء (به بایت) و اندازهٔ سهم مشارکت داده شده (به بایت) در dSYM پیوند خورده را چاپ می‌کند. این جدول بر اساس اندازهٔ خروجی مرتب شده و فایل‌های شیء با بیشترین سهم را ابتدا فهرست می‌کند.
جدول نمادهای موجود در executable یا فایل(های) شیء را تخلیه (dump) کرده و خارج می‌شود.
به جای یک فایل همراه dSYM باینری، کد متنی اسمبلی در خروجی تولید می‌کند.
زنجیره ابزار (toolchain) را در فهرست ویژگی‌ها (property list) بستهٔ dSYM تعبیه می‌کند.
یک فایل dSYM موجود را به‌روزرسانی می‌کند تا حاوی جدیدترین جداول شتاب‌دهنده و سایر بهینه‌سازی‌های DWARF باشد. این گزینه جداول شتاب‌دهندهٔ درهم‌سازی‌شدهٔ '.apple_names' و '.apple_types' را دوباره می‌سازد.
از فایل‌های شیء موجود در مسیر بازتولیدکنندهٔ داده‌شده استفاده می‌کند. نام مستعار برای --reproducer=Use.
نمایش اطلاعات مفصل هنگام پیوند دادن.
بررسی‌کننده (verifier) DWARF را روی اطلاعات اشکال‌زدایی DWARF پیوند داده شده اجرا می‌کند.
نسخهٔ ابزار را نمایش می‌دهد.
با executable مانند یک debug-map با قالب YAML رفتار می‌کند، نه یک فایل اجرایی.

اگر پیوند اطلاعات اشکال‌زدایی DWARF با موفقیت انجام شود، dsymutil مقدار 0 را بازمی‌گرداند؛ در غیر این صورت، مقدار 1 بازگردانده می‌شود.

llvm-dwarfdump(1) <llvm-dwarfdump.html>

توسط تیم LLVM نگهداری می‌شود (https://llvm.org).

2003-2026, LLVM Project

2026-07-15 22