LLVM-COV(1) LLVM LLVM-COV(1)

llvm-cov - انتشار اطلاعات پوشش کد

llvm-cov command [args...]

ابزار llvm-cov اطلاعات پوشش کد (coverage) را برای برنامه‌هایی که جهت ثبت داده‌های پروفایل تجهیز (instrument) شده‌اند نمایش می‌دهد. از این ابزار می‌توان برای کار با پوشش به سبک gcov یا با پروفایل‌سازی مبتنی بر تجهیز clang استفاده کرد.

اگر برنامه با نام پایهٔ gcov فراخوانی شود، به گونه‌ای رفتار می‌کند که گویی دستور llvm-cov gcov فراخوانی شده است. در غیر این صورت، باید یک زیردستور مشخص شود.

  • gcov
  • show
  • report
  • export

llvm-cov gcov [options] SOURCEFILE

ابزار llvm-cov gcov فایل‌های داده‌های پوشش کد را خوانده و اطلاعات پوشش را برای یک فایل منبع مشخص نمایش می‌دهد. این ابزار با ابزار gcov از نسخهٔ 4.2 کامپایلر GCC سازگار است و ممکن است با برخی از نسخه‌های جدیدتر gcov نیز سازگار باشد.

برای استفاده از llvm-cov gcov، ابتدا باید یک نسخهٔ تجهیزشده از برنامهٔ خود بسازید که داده‌های پوشش کد را هنگام اجرا جمع‌آوری کند. برای افزودن این قابلیت، کد را با گزینه‌های -fprofile-arcs و -ftest-coverage کامپایل کنید. (همچنین می‌توانید از گزینهٔ --coverage استفاده کنید که شامل هر دوی این گزینه‌ها می‌شود.)

هنگام کامپایل کردن کد تجهیزشده، برای هر فایل شیء (object file) یک فایل دادهٔ .gcno تولید خواهد شد. این فایل‌های .gcno حاوی نیمی از داده‌های پوشش هستند. نیمهٔ دیگر داده‌ها از فایل‌های .gcda به دست می‌آید که هنگام اجرای برنامهٔ تجهیزشده ایجاد می‌شوند؛ به طوری که برای هر فایل شیء، یک فایل .gcda جداگانه وجود دارد. با هر بار اجرای برنامه، تعداد دفعات اجرا به فایل‌های .gcda موجود اضافه می‌شود، بنابراین اگر نمی‌خواهید محتوای فایل‌های قبلی لحاظ شود، حتماً فایل‌های قدیمی را حذف کنید.

به‌طور پیش‌فرض، فایل‌های .gcda در همان دایرکتوری فایل‌های شیء نوشته می‌شوند، اما می‌توانید با تنظیم متغیرهای محیطی GCOV_PREFIX و GCOV_PREFIX_STRIP این رفتار را تغییر دهید. متغیر GCOV_PREFIX_STRIP تعداد بخش‌های دایرکتوری که باید از ابتدای مسیر مطلق دایرکتوری فایل شیء حذف شوند را مشخص می‌کند. پس از حذف آن دایرکتوری‌ها، پیشوند موجود در متغیر GCOV_PREFIX اضافه می‌شود. این متغیرهای محیطی به شما امکان می‌دهند برنامهٔ تجهیزشده را روی سیستمی اجرا کنید که دایرکتوری‌های اصلی فایل‌های شیء در آن در دسترس نیستند، اما پس از اجرا باید فایل‌های .gcda را به دایرکتوری‌های فایل‌های شیء، جایی که llvm-cov gcov انتظار دارد، کپی کنید.

پس از تولید فایل‌های داده‌های پوشش، دستور llvm-cov gcov را برای هر فایل منبع اصلی که می‌خواهید نتایج پوشش آن را بررسی کنید اجرا نمایید. این دستور باید از همان دایرکتوری اجرا شود که قبلاً کامپایلر را اجرا کرده‌اید. نتایج مربوط به فایل منبع مشخص‌شده در فایلی نوشته می‌شوند که نام آن با افزودن پسوند .gcov تشکیل می‌شود. همچنین برای هر فایلی که توسط فایل منبع اصلی ضمیمه (include) شده است نیز یک فایل خروجی جداگانه با پسوند .gcov ایجاد می‌شود.

محتوای اصلی یک فایل خروجی .gcov رونوشتی از فایل منبع است که تعداد دفعات اجرا و شمارهٔ خط به ابتدای هر خط آن اضافه شده است. اگر خطی حاوی هیچ کد قابل‌اجرایی نباشد، تعداد دفعات اجرا به‌صورت - نمایش داده می‌شود. اگر خطی شامل کد باشد اما آن کد هرگز اجرا نشده باشد، شمارنده به‌صورت ##### نمایش داده خواهد شد..SS "گزینه‌ها (OPTIONS)"

نمایش تمام بلوک‌های پایه (basic blocks). اگر برای یک خط از کد منبع چندین بلوک وجود داشته باشد، این گزینه باعث می‌شود llvm-cov به جای فقط یک شمارش برای کل خط، شمارش مربوط به هر بلوک را نمایش دهد.
نمایش احتمال انشعاب‌های شرطی و خلاصه‌ای از اطلاعات انشعاب‌ها.
نمایش شمارش انشعاب‌ها به جای احتمالات (نیاز به -b دارد).
رمزگشایی نام توابع (demangle).
نمایش خلاصه‌ای از پوشش کد برای هر تابع به جای تنها یک خلاصه برای کل فایل منبع.
نمایش گزینه‌های موجود (--help-hidden برای موارد بیشتر).
برای خروجی پوشش فایل‌های گنجانده‌شده (included) از فایل منبع اصلی، نام فایل اصلی به همراه ## به عنوان پیشوند به نام فایل‌های خروجی افزوده می‌شود. این گزینه می‌تواند با گزینه --preserve-paths ترکیب شود تا مسیرهای کامل هم برای فایل اصلی و هم برای فایل گنجانده‌شده استفاده شوند.
هیچ فایل .gcov در خروجی تولید نشود. اطلاعات خلاصه همچنان نمایش داده می‌شوند.
یافتن اشیاء در DIR یا بر اساس مسیر FILE. اگر فایل شیء خاصی را مشخص کنید، انتظار می‌رود فایل‌های داده پوشش با همان نام پایه و با پسوندهای .gcno و .gcda وجود داشته باشند. اگر یک دایرکتوری را مشخص کنید، انتظار می‌رود فایل‌ها در آن دایرکتوری با همان نام پایه فایل منبع قرار داشته باشند.
حفظ مؤلفه‌های مسیر هنگام نام‌گذاری فایل‌های خروجی پوشش. علاوه بر نام فایل منبع، دایرکتوری‌های مسیر منتهی به آن فایل نیز گنجانده می‌شوند. دایرکتوری‌ها با نویسه # از یکدیگر جدا می‌شوند، دایرکتوری‌های . حذف شده و دایرکتوری‌های .. با نویسه ^ جایگزین می‌شوند. هنگامی که با گزینه --long-file-names استفاده شود، این مورد برای هر دو نام فایل اصلی و فایل گنجانده‌شده اعمال می‌شود.
تنها فایل‌هایی با مسیرهای نسبی، یا مسیرهای مطلقی که دارای پیشوند مشخص‌شده توسط -s هستند، خارج (dump) شوند.
پیشوند منبع برای نادیده گرفتن و حذف شدن.
چاپ در stdout به جای ایجاد فایل‌های .gcov.
گنجاندن انشعاب‌های بدون شرط در خروجی برای گزینه --branch-probabilities.
نمایش نسخه llvm-cov.
استفاده از هش md5 نام فایل هنگام نام‌گذاری فایل‌های خروجی پوشش کد. نام فایل منبع به پسوند ## و به دنبال آن هش MD5 محاسبه‌شده برای آن مجهز خواهد شد.

در صورتی که llvm-cov gcov نتواند فایل‌های ورودی را بخواند، مقدار ۱ را برمی‌گرداند. در غیر این صورت، با صفر خارج می‌شود.

llvm-cov show [options] -instr-profile PROFILE [BIN] [-object BIN]... [-sources] [SOURCE]...

دستور llvm-cov show پوشش خط‌به‌خط باینری‌های BIN... را با استفاده از داده‌های پروفایل PROFILE نشان می‌دهد. همچنین می‌تواند به صورت اختیاری فیلتر شود تا فقط پوشش فایل‌های فهرست‌شده در SOURCE... را نمایش دهد.

BIN می‌تواند یک فایل اجرایی، فایل شیء (object file)، کتابخانهٔ پویا، یا یک بایگانی (thin یا معمولی) باشد.

برای استفاده از llvm-cov show، به برنامه‌ای نیاز دارید که با کدهای سنجش (instrumentation) کامپایل شده باشد تا داده‌های پروفایل و پوشش را تولید کند. برای ساخت چنین برنامه‌ای با clang، از پرچم‌های -fprofile-instr-generate و -fcoverage-mapping استفاده کنید. در صورت پیوند (linking) با درایور clang، گزینهٔ -fprofile-instr-generate را به مرحلهٔ پیوند ارسال کنید تا مطمئن شوید کتابخانه‌های زمان اجرای ضروری پیوند خورده‌اند.

اطلاعات پوشش در خودِ فایل اجرایی ساخته‌شده یا کتابخانه ذخیره می‌شود، و این همان چیزی است که باید به عنوان آرگومان BIN به llvm-cov show بدهید. داده‌های پروفایل با اجرای معمول این برنامهٔ سنجش‌شده (instrumented) تولید می‌شوند. هنگام خروج برنامه، یک فایل پروفایل خام، که معمولاً default.profraw نامیده می‌شود، نوشته خواهد شد که می‌توان آن را با ابزار llvm-profdata merge به قالبی مناسب برای آرگومان PROFILE تبدیل کرد.

نمایش پوشش برای شرایط انشعاب بر حسب تعداد یا درصد. نماهای پشتیبانی‌شده عبارتند از: "count"، "percent".
نمایش پوشش شرایط/تصمیم اصلاح‌شده (MC/DC) برای هر عبارت بولی مربوطه.
نمایش تعداد دفعات اجرای هر خط. مقدار پیش‌فرض true است، مگر اینکه از گزینهٔ دیگری از -show استفاده شده باشد.
بسط‌دادن موارد گنجانده‌شده، مانند ماکروهای پیش‌پردازنده یا درج‌های متنی، به‌صورت درون‌خطی در نمایش فایل منبع. مقدار پیش‌فرض false است.
برای نواحی منبعی که چندین بار نمونه‌سازی شده‌اند، مانند الگوها در C++، هر نمونه‌سازی را به‌طور جداگانه و همچنین خلاصهٔ ترکیبی نمایش می‌دهد. مقدار پیش‌فرض true است.
نمایش تعداد دفعات اجرای هر ناحیه با نشان دادن یک علامت هشتک (caret) که به نویسه‌ای که ناحیه از آنجا شروع می‌شود اشاره می‌کند. مقدار پیش‌فرض false است.
اگر تنها یک ناحیه در خط وجود داشته باشد، تعداد دفعات اجرای هر خط را نمایش می‌دهد، اما اگر چندین ناحیه در خط باشد، هر ناحیه را به‌صورت جداگانه نشان می‌دهد. مقدار پیش‌فرض false است.
تولید یک فایل فهرست (نمایه) در هر دایرکتوری که حداقل شامل یک فایل منبع باشد، همراه با یک نمایهٔ سطح بالا که مقادیر تجمیعی را نشان می‌دهد. مقدار پیش‌فرض false است.
فعال یا غیرفعال کردن خروجی رنگی. به‌طور پیش‌فرض به صورت خودکار شناسایی می‌شود.
مشخص‌کردن فهرستی از معماری‌ها به طوری که N-اُمین ورودی در فهرست مربوط به N-اُمین باینری مشخص‌شده باشد. اگر شیء پوشش‌داده‌شده یک باینری چندمعماری (universal binary) باشد، این گزینه معماریِ مورد استفاده را تعیین می‌کند. مشخص‌کردن معماری‌ای که در باینری چندمعماری گنجانده نشده است، یا استفاده از معماری‌ای که با باینری غیرچندمعماری مطابقت ندارد، خطاست.
نمایش پوشش کد فقط برای توابعی با نام مشخص‌شده.
نمایش پوشش کد فقط برای توابع فهرست‌شده در فایل مشخص‌شده. هر خط در فایل باید با allowlist_fun: آغاز شود و بلافاصله نام تابعی که باید پذیرفته شود پس از آن بیاید. این نام می‌تواند یک عبارت با نویسه‌های عمومی (wildcard) باشد.
نمایش پوشش کد فقط برای توابعی که با عبارت باقاعدهٔ (regular expression) داده‌شده مطابقت دارند.
نادیده‌گرفتن فایل‌های کد منبع با مسیرهایی که با عبارت باقاعدهٔ داده‌شده مطابقت دارند.
استفاده از قالب خروجی مشخص‌شده. قالب‌های پشتیبانی‌شده عبارتند از: "text"، "html".
جایگزینی تب‌ها با <TABSIZE> فاصله هنگام آماده‌سازی گزارش‌ها. در حال حاضر، این گزینه فقط برای قالب html پشتیبانی می‌شود.
مشخص‌کردن دایرکتوری برای نوشتن گزارش‌های پوشش در آن. اگر دایرکتوری وجود نداشته باشد، ایجاد می‌شود. هنگام استفاده در حالت نمای تابع (یعنی زمانی که از -name یا -name-regex برای انتخاب توابع خاصی استفاده می‌شود)، گزارش در PATH/functions.EXTENSION نوشته می‌شود. هنگام استفاده در حالت نمای فایل، گزارشی برای هر فایل در PATH/REL_PATH_TO_FILE.EXTENSION نوشته می‌شود.
مشخص‌کردن یک رمزگشای نام نمادها (symbol demangler). از این گزینه می‌توان برای خواناتر کردن گزارش‌ها برای انسان استفاده کرد. این گزینه را می‌توان چندین بار مشخص کرد تا آرگومان‌هایی به demangler ارسال شود (مثلاً -Xdemangler c++filt -Xdemangler -n برای C++). انتظار می‌رود که demangler فهرستی از نمادها را که با خط جدید جدا شده‌اند از ورودی استاندارد (stdin) بخواند و فهرستی با همان طول را که با خط جدید جدا شده است در خروجی استاندارد (stdout) بنویسد.
استفاده از N رشته (thread) برای نوشتن گزارش‌های فایل (فقط زمانی کاربرد دارد که -output-dir مشخص شده باشد). زمانی که N=0 باشد، llvm-cov تعداد مناسب رشته‌ها را به‌طور خودکار تشخیص می‌دهد. این مقدار پیش‌فرض است.
دایرکتوری مورد استفاده به عنوان پایه برای مسیرهای نگاشت پوشش نسبی. فقط زمانی کاربرد دارد که باینری‌ها با یکی از گزینه‌های -fcoverage-prefix-map، -fcoverage-compilation-dir، یا -ffile-compilation-dir کامپایل شده باشند.
نمایش پوشش کد فقط برای توابعی با پوشش خطی بیشتر از آستانهٔ مشخص‌شده.
نمایش پوشش کد فقط برای توابعی با پوشش خطی کمتر از آستانهٔ مشخص‌شده.
نمایش پوشش کد فقط برای توابعی با پوشش ناحیه‌ای بیشتر از آستانهٔ مشخص‌شده.
نمایش پوشش کد فقط برای توابعی با پوشش ناحیه‌ای کمتر از آستانهٔ مشخص‌شده.
-path-equivalence=<from>,<to> مسیرهای موجود در داده‌های پوشش را به مسیرهای محلی فایل منبع نگاشت می‌کند. این ویژگی به شما امکان می‌دهد داده‌های پوشش را روی یک ماشین تولید کنید و سپس از llvm-cov روی ماشین دیگری که همان فایل‌ها را در مسیری متفاوت دارد استفاده نمایید. برای مشخص کردن نگاشت‌های مختلف، می‌توان چندین آرگومان -path-equivalence ارسال کرد. هر آرگومان از یک مسیر مبدأ <from> و مسیر محلی متناظر با آن <to> تشکیل می‌شود. نگاشت‌ها به همان ترتیبی که مشخص شده‌اند اعمال می‌شوند. اگر چندین نگاشت بر روی یک مسیر قابل اعمال باشند، نخستین نگاشت یافت‌شده اعمال خواهد شد.
حد بالا و پایین (watermark) را برای پوشش در خروجی قالب html تنظیم می‌کند. این امکان را به شما می‌دهد تا حدود بالا و پایین پوشش را مطابق نیاز تعیین کنید: سبز در صورتی که پوشش >= high باشد، قرمز هنگامی که پوشش < low باشد، و در غیر این صورت زرد. هر دو مقدار high و low باید بین 0-100 بوده و high > low باشد.
استفاده از debuginfod برای جستجوی نگاشت پوشش جهت شناسه‌های باینری (binary IDs) موجود در نمایه (profile) که در هیچ شیء مشخص‌شده‌ای در خط فرمان وجود ندارند. در صورتی که debuginfod درون برنامه کامپایل شده و از طریق متغیر محیطی DEBUGINFOD_URLS پیکربندی شده باشد، مقدار پیش‌فرض true است.
دایرکتوری‌های محلی را برای جستجوی اشیاء متناظر با شناسه‌های باینری موجود در نمایه (مشابه debuginfod) فراهم می‌کند. مقدار پیش‌فرض، دایرکتوری‌های build ID سیستم است.
اگر فایل شیء برای یک شناسه باینری موجود در نمایه، چه در خط فرمان و چه از طریق جستجوی شناسه باینری یافت نشود، عملیات با خطا متوقف می‌شود.
نمایش پوشش خط مبنای (baseline) باینری‌ها با تمام شمارنده‌های اجرای صفر. با -instr-profile مانعة‌الجمع است.

llvm-cov report [گزینه‌ها] -instr-profile PROFILE [BIN] [-object BIN]... [-sources] [SOURCE]...

دستور llvm-cov report خلاصه‌ای از پوشش باینری‌های BIN... را با استفاده از داده‌های نمایه PROFILE نمایش می‌دهد. همچنین می‌توان آن را به صورت اختیاری فیلتر کرد تا تنها پوشش فایل‌های فهرست‌شده در SOURCE... را نشان دهد.

BIN می‌تواند یک فایل اجرایی، فایل شیء (object file)، کتابخانه پویا، یا آرشیو (thin یا موارد دیگر) باشد.

اگر هیچ فایل منبعی مشخص نشود، یک سطر خلاصه برای هر فایل موجود در داده‌های پوشش چاپ می‌شود. در صورت ارائه هرگونه فایل، اگر گزینه -show-functions فعال باشد، خلاصه‌ها برای هر تابع موجود در فایل‌های فهرست‌شده نمایش داده می‌شوند.

برای کسب اطلاعات درباره کامپایل برنامه‌ها جهت سنجش پوشش و تولید داده‌های نمایه، بخش SHOW COMMAND را ببینید.

فعال یا غیرفعال کردن خروجی رنگی. این ویژگی به طور پیش‌فرض به صورت خودکار تشخیص داده می‌شود.
اگر باینری تحت پوشش یک باینری سراسری (universal binary) باشد، معماری مورد استفاده را انتخاب می‌کند. تعیین معماری‌ای که در باینری سراسری گنجانده نشده است، یا استفاده از معماری‌ای که با یک باینری غیرسراسری مطابقت ندارد، خطا محسوب می‌شود.
نمایش آمار برای همه ناحیه‌ها (regions). پیش‌فرض true است.
نمایش آمار برای تمام شرایط انشعاب (branch conditions). پیش‌فرض true است.
نمایش آمارهای MC/DC. پیش‌فرض false است.
نمایش خلاصه پوشش برای هر تابع. پیش‌فرض false است.
نمایش آمار برای تمام نمونه‌سازی‌های توابع (function instantiations). پیش‌فرض false است.
صرف‌نظر کردن از فایل‌های کد منبع با مسیرهایی که با عبارت باقاعده (regular expression) داده‌شده مطابقت دارند.
دایرکتوری مورد استفاده به عنوان پایه برای مسیرهای نسبی نگاشت پوشش. تنها زمانی کاربرد دارد که باینری‌ها با یکی از گزینه‌های -fcoverage-prefix-map، -fcoverage-compilation-dir، یا -ffile-compilation-dir کامپایل شده باشند.
تلاش برای جستجوی نگاشت پوشش از اشیاء با استفاده از debuginfod. این کار به صورت پیش‌فرض برای شناسه‌های باینری موجود در نمایه که در خط فرمان ارائه نشده‌اند انجام می‌شود، به شرطی که debuginfod درون برنامه کامپایل شده و از طریق متغیر DEBUGINFOD_URLS پیکربندی شده باشد.
یک دایرکتوری را برای جستجوی اشیاء متناظر با شناسه‌های باینری موجود در نمایه ارائه می‌دهد.
در صورتی که فایل شیء برای یک شناسه باینری موجود در نمایه، نه در خط فرمان و نه از طریق جستجوی شناسه باینری یافت نشود، عملیات با شکست مواجه می‌شود.
نمایش پوشش خط مبنای باینری‌ها با تمام شمارنده‌های اجرای صفر. با -instr-profile مانعة‌الجمع است.

llvm-cov export [گزینه‌ها] -instr-profile PROFILE [BIN] [-object BIN]... [-sources] [SOURCE]...

دستور llvm-cov export داده‌های پوشش باینری‌های BIN... را با استفاده از داده‌های نمایه PROFILE در قالب JSON یا پروندهٔ ردگیری lcov صادر می‌کند.

هنگام صدور به‌صورت JSON، ناحیه‌ها، توابع، شاخه‌ها، بسط‌ها و خلاصه‌های داده‌های پوشش صادر خواهند شد. هنگام صدور به‌صورت پروندهٔ ردگیری lcov، پوشش مبتنی بر خط، پوشش شاخه و خلاصه‌ها صادر خواهند شد.

داده‌های صادرشده را می‌توان به صورت اختیاری فیلتر کرد تا تنها پوشش فایل‌های فهرست‌شده در SOURCE... صادر شود.

برای اطلاعات بیشتر دربارهٔ کامپایل کردن برنامه‌ها برای تحلیل پوشش و تولید داده‌های نمایه، «دستور SHOW (SHOW COMMAND)» را ببینید.

اگر باینری پوشش‌داده‌شده یک باینری یونیورسال (universal binary) باشد، معماری مورد استفاده را انتخاب می‌کند. مشخص کردن معماری‌ای که در باینری یونیورسال گنجانده نشده است، یا استفاده از معماری‌ای که با یک باینری غیر‌یونیورسال مطابقت ندارد، خطا محسوب می‌شود.
استفاده از قالب خروجی مشخص‌شده. قالب‌های پشتیبانی‌شده عبارتند از: "text" (JSON) و "lcov".
فقط اطلاعات خلاصه را برای هر فایل در داده‌های پوشش صادر می‌کند. این حالت اطلاعات پوشش را برای واحدهای کوچک‌تر مانند توابع یا ناحیه‌های منفرد صادر نمی‌کند. خروجی حاوی همان اطلاعات تولیدشده توسط دستور llvm-cov report خواهد بود، اما به جای متن ساده در قالب JSON یا lcov ارائه می‌شود.
نادیده گرفتن فایل‌های کد منبعی که مسیر آن‌ها با عبارت باقاعدهٔ داده‌شده مطابقت دارد.
صرف‌نظر کردن از صدور داده‌های پوشش مربوط به بسط ماکروها.
صرف‌نظر کردن از صدور داده‌های پوشش به تفکیک توابع.
استفاده از N ریسه (thread) برای صدور داده‌های پوشش. هنگامی که N=0 باشد، llvm-cov تعداد مناسب ریسه‌ها را به طور خودکار شناسایی می‌کند. این مقدار پیش‌فرض است.
دایرکتوری مبنا برای مسیرهای نگاشت نسبی پوشش. تنها زمانی کاربرد دارد که باینری‌ها با یکی از گزینه‌های -fcoverage-prefix-map، -fcoverage-compilation-dir یا -ffile-compilation-dir کامپایل شده باشند.
تلاش برای جستجوی نگاشت پوشش از اشیاء با استفاده از debuginfod. این کار به طور پیش‌فرض برای شناسه‌های باینری (binary IDs) موجود در نمایه که در خط فرمان مشخص نشده‌اند انجام می‌شود، به شرطی که debuginfod درون برنامه کامپایل شده و از طریق DEBUGINFOD_URLS پیکربندی شده باشد.
مشخص کردن دایرکتوری برای جستجوی اشیاء منطبق با شناسه‌های باینری موجود در نمایه.
اگر فایل شیء برای یک شناسهٔ باینری موجود در نمایه پیدا نشود (چه از طریق خط فرمان و چه از طریق جستجوی شناسهٔ باینری)، با خطا متوقف می‌شود.
صدور پوشش مبنای باینری‌ها با مقادیر شمارش اجرای کاملاً صفر. با گزینهٔ -instr-profile مانعة‌الجمع است.

هشدار:

این دستور صرفاً برای توسعه‌دهندگان LLVM است که روی llvm-cov کار می‌کنند.

llvm-cov convert-for-testing BIN -o OUT

دستور llvm-cov convert-for-testing با هدف آزمایش خودِ llvm-cov به کار می‌رود. این دستور می‌تواند تمام داده‌های پوشش کد را از فایل باینری BIN استخراج کرده و در فایل OUT قرار دهد و از این طریق اندازهٔ فایل‌های آزمایشی را کاهش دهد. فایل خروجی معمولاً دارای پسوند .covmapping است.

فایل‌های .covmapping می‌توانند دقیقاً مانند فایل‌های باینری معمولی مجدداً توسط llvm-cov خوانده شوند.

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

2003-2026, LLVM Project

2026-07-15 22